Leetcode 101 对称二叉树
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
详解:我们可以使用递归来解决此类问题,如果两个节点对称,则左边节点的右子树和右边节点的左子树相同,递归时左右节点都从根节点开始计算。
class Solution {
public boolean isSymmetric(TreeNode root) {
return recursive(root,root);
}
public boolean recursive(TreeNode node1,TreeNode node2){
if((node1==null&&node2!=null)||(node1!=null&&node2==null)) return false;
if(node1==null&&node2==null) return true;
return (node1.val==node2.val)&&recursive(node1.left,node2.right)&&recursive(node1.right,node2.left);
}
}