对称二叉树
题目描述
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [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
思路分析
通过递归来实现。代码如下:
public boolean isSymmetric(TreeNode root) {
return judge(root,root);
}
private boolean judge(TreeNode pRoot, TreeNode root) {
if(pRoot==null&&root==null)return true;
if(pRoot==null||root==null)return false;
if(pRoot.val!=root.val)return false;
return judge(pRoot.left,root.right)&&judge(pRoot.right,root.left);
}