【Leetcode】101. Symmetric Tree

1 使用recursive的方法:每次判断isSym(root.left, root.right), 看看root.left.val是否等于root.right.val,接下来,root.left也有左右两个子树,root.right也有左右两个子树,这时需要判断isSym(root.left.right, root.right.left)和isSym(root.left.left, root.right.right)是否symmetric

2 一定要判断corner case:p和q都不存在时,是对称的;p或者q不存在时,返回False

3 最后的isSym(root, root)很巧妙,不这样做很难处理

4 iterative的方法:用queue来存储每一个level的node,得到每一个level的所有node值后,判断其reverse是否和不reverse相等


5 iterative方法:BFS+queue,queue中加入的是需要比较的两个node


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,211评论 0 10
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,364评论 0 33
  • 1.Given a binary tree, check whether it is a mirror of it...
    lalulalula阅读 3,772评论 0 0
  • bh
    bedb0c4ed2e5阅读 1,270评论 0 0
  • 几天不用电脑居然莫名其妙的坏了,连不上网络!对于我这种有点儿强迫症症的人来说,简单难受的受不了。 刚刚突然明白一件...
    二求人生阅读 2,454评论 0 1

友情链接更多精彩内容