剑指 Offer 22. 对称的二叉树 #
题目 #
请实现一个函数,用来判断一棵二叉树是否是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
思路 #
代码 #
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { this.val = x; }
}
class Solution {
public boolean isTwoSymmetric(TreeNode root1, TreeNode root2) {
if (root1 == null) return root2 == null;
if (root2 == null) return false;
return (root1.val == root2.val) & isTwoSymmetric(root1.left, root2.right) & isTwoSymmetric(root1.right, root2.left);
}
public boolean isSymmetric(TreeNode root) {
if (root == null) return true;
return isTwoSymmetric(root.left, root.right);
}
}