【Leetcode】Symmetric Tree (Tree Judge)
来源:互联网 发布:网络url地址是什么 编辑:程序博客网 时间:2024/05/18 06:25
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following is not:
1 / \ 2 2 \ \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
helper作用用于判断每个根节点的左右子节点是否对称。
先判断同向,即左左右右,然后再判断异向,即左右左右。
压栈思路:先左子树左节点和右子树右节点全入,然后左子树左节点出右节点入,右子树右节点出左节点入。在压栈的过程中先后比较左右节点是否为空,并且比较值是否相等。
特殊情况:空数为对称树。子树都为空树,则相等,只有一个为空树,则一定不相等
public boolean isSymmetric(TreeNode root) { if(root==null) return true; return helper(root.left, root.right); } public boolean helper(TreeNode left, TreeNode right) { if(left==null&&right==null) return true; if(left==null||right==null) return false; if(left.val!=right.val) return false; boolean llrr = helper(left.left, right.right); boolean lrrl = helper(left.right, right.left); return llrr&&lrrl; }
0 0
- 【Leetcode】Symmetric Tree (Tree Judge)
- LeetCode-101-Symmetric Tree judge对称tree
- Leetcode - Tree - Symmetric Tree
- Leetcode - Tree - Symmetric Tree
- LeetCode[Tree]: Symmetric Tree
- [leetcode][tree] Symmetric Tree
- [LeetCode] Same Tree、Symmetric Tree
- LeetCode-Same Tree & Symmetric Tree
- LeetCode-- Same Tree & Symmetric Tree
- 【Leetcode】Same Tree (Tree Judge)
- LeetCode: Symmetric Tree
- [Leetcode] Symmetric Tree
- LeetCode : Symmetric Tree
- leetcode 13:symmetric tree
- [LeetCode] Symmetric Tree - Recursively
- [LeetCode] Symmetric Tree - Iteratively
- [LeetCode] Symmetric Tree
- [LeetCode]Symmetric Tree
- HTML5已定稿:将彻底颠覆原生应用?
- 数据结构之归并排序(递归实现)
- 关于计算机视觉的随谈
- 机器学习问题的十个实例
- C++读书笔记
- 【Leetcode】Symmetric Tree (Tree Judge)
- PHPStorm使用经验
- poj1050 To the Max (动态规划)
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- 【Leetcode】Balanced Binary Tree (Tree Judge)
- 关于推荐系统中的特征工程
- Servlet总结
- 第十一周项目6-回文、素数(输出1000以内所有回文数)
- 第十一周项目六—素数