查看: 1247| 回复: 1
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 求教在这道题里先序后序和中序遍历哪里不一样?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
Leetcode 652 find duplicate subtrees:

https://leetcode.com/problems/fi ... btrees/description/


代码:

class Solution:
    def findDuplicateSubtrees(self, root):
        """
        :type root: TreeNode
        :rtype: List[TreeNode]
        """
        def dfs(root):
            if not root: return "#"
            # path=dfs(root.left)+","+str(root.val)+","+dfs(root.right)
            path=str(root.val)+","+dfs(root.left)+","+dfs(root.right)


            if m[path]==1: result.append(root)
            m[path]+=1
            return path

        m, result=collections.defaultdict(int), []
        dfs(root)
        return result

这个思路是用后序或者先序遍历先存所有的子树,然后查找重复。但是用中序是报错的。注释掉的path就不行。

想求教大神来讲解下。先谢谢了。




上一篇:LeetCode的hard难度题面试会出现吗
下一篇:关于面试沉默时间的问题
全局:
答案不是挺清楚的么.?

'#,0,#,0,#': 2, '#,0,#': 2

[0, #, 0] 和 [0, 0, #] 按这个serialize的方法写出来无差别
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表