辅助函数
判断 这两个节点为根的树是否是 镜像的
递归终止条件
同时为空 能递归到叶子 说明之前都是对称的 返回 true
一个有子树 一个 没有 不是对称 返回false
节点左右子树都是对称的 且这两个根节点相等 那么两个根节点的树就是对称的 否则就不是
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot == null) return true;
if(pRoot.left == null && pRoot.right == null) return true;
return ishelp(pRoot.left,pRoot.right);
}
boolean ishelp(TreeNode p1,TreeNode p2){
if(p1 == null && p2 == null) return true;
if(p1 == null || p2 == null) return false;
boolean left = ishelp(p1.left,p2.right);
boolean right = ishelp(p1.right,p2.left);
if(p1.val == p2.val && left && right) return true;
else return false;
}
}


京公网安备 11010502036488号