一. 对称二叉树 | 题目描述
给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树?[1,2,2,3,4,4,3] 是对称的。
? ? 1 ? ?/ \ ? 2 ? 2 ?/ \ / \ 3 ?4 4 ?3 ? 但是下面这个?[1,2,2,null,3,null,3] 则不是镜像对称的:
? ? 1 ? ?/ \ ? 2 ? 2 ? ?\ ? \ ? ?3 ? ?3
进阶:你可以运用递归和迭代两种方法解决这个问题吗?
二. 解题思路总结:
三. 代码如下:
class Solution {
public boolean isSymmetric(TreeNode root) {
return check(root, root);
}
public boolean check(TreeNode p, TreeNode q) {
if (p == null && q == null) {
return true;
}
if (p == null || q == null) {
return false;
}
return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);
}
}
作者:LeetCode-Solution 链接:https://leetcode-cn.com/problems/symmetric-tree/solution/dui-cheng-er-cha-shu-by-leetcode-solution/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|