给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [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 static boolean isSame(TreeNode t1,TreeNode t2) {
if(t1==null&&t2==null)
{
return true;
}
if(t1==null||t2==null)
{
return false;
}
return (t1.data == t2.data)
&& isSame(t1.rChild, t2.lChild)
&& isSame(t1.lChild, t2.rChild);
}
public static boolean isSymmetric(TreeNode root) {
if(root==null)
return true;
else {
return isSame(root.lChild,root.rChild);
}
}