当前位置: 首页 > article >正文

Leetcode 3327. Check if DFS Strings Are Palindromes

  • Leetcode 3327. Check if DFS Strings Are Palindromes
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3327. Check if DFS Strings Are Palindromes

1. 解题思路

这一题其实不太理解为什么会是一个hard的题目,就是一个简单的dfs算法,我们构造出这个树然后做一次深度优先遍历找出每一个节点对应的dfsStr,然后判断其是否为回文序列即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def findAnswer(self, parent: List[int], s: str) -> List[bool]:
        if len(set(s)) == 1:
            return [True for _ in parent]
        
        n = len(parent)        
        graph = defaultdict(list)
        for i in range(n):
            graph[parent[i]].append(i)
        
        ans = [False for _ in range(n)]
        
        def dfs(root):
            nonlocal ans
            dfs_str = ""
            for u in graph[root]:
                dfs_str += dfs(u)
            dfs_str += s[root]
            n = len(dfs_str)
            ans[root] = (dfs_str == dfs_str[::-1])
            return dfs_str
        
        dfs(0)
        return ans

提交代码评测得到:耗时6643ms,占用内存72.9MB。


http://www.kler.cn/news/357714.html

相关文章:

  • 2024.09.28校招 实习 内推 面经
  • Spring Boot优化大创项目风险评估流程
  • HarmonyOS 开发知识总结
  • Discuz | 起尔开发 传奇开服表游戏公益服发布论坛网站插件
  • 记一次 Flink mongoDB CDC 到Kafka遇到的问题
  • 2011年国赛高教杯数学建模A题城市表层土壤重金属污染分析解题全过程文档及程序
  • Spring Boot视频网站:构建可扩展的视频服务平台
  • 河源市社保卡照片要求及手机自拍拿数码相片回执的方法
  • select数据备份和恢复
  • 图论day61:最小生成树|最小生成树理论基础:prim算法、kruskal算法(思维导图版)、53.寻宝(卡码网 第七期模拟笔试)
  • 【elasticsearch】安装和启动
  • vmware中使用U盘安装win10系统
  • SpringBoot物流管理系统设计与实现
  • 【数据结构与算法】链表(下)
  • SpringDataRedis快速入门
  • JDK17下,使用SHA1算法报Certificates do not conform to algorithm constraints错误
  • PostgreSQL技术内幕15:物化视图
  • 关于通信设备中的告警相关知识
  • SQL数据库刷题sql_day34(移动平均值、累计求和)
  • 别再犯这些Java并发编程的常见错误!你中了几个?