请实现一个函数,用来判断一颗二叉树是不是对称的。
注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
public class Solution {
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot == null) {
return true;
}
return help(pRoot.left, pRoot.right);
}
boolean help(TreeNode p, TreeNode q) {
if(q ==null || p == null) {
if(q == null && p == null) {
return true;
} else {
return false;
}
}
if(p.val != q.val) {
return false;
}
return help(q.left, p.right) && help(q.right, p.left);
}
}