对称二叉树
给定一个二叉树,检查它是否是镜像对称的
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 解题思路: 方法一:递归 遇到这个问题,会发现树的左子树和右子树镜像对称,那么我们应该考虑两个树在什么情况下互为镜像?
它们的根节点具有相同的值每个左子树与右子树都互为镜像对称
public boolean isSymmetric(TreeNode root
) {
if(root
== null
) return true;
return check(root
.left
,root
.right
);
}
boolean check(TreeNode nodel
,TreeNode node2
){
if(nodel
== null
&& node2
== null
) return true;
if (nodel
== null
|| node2
== null
|| nodel
.val
!= node2
.val
) return false;
return check(nodel
.left
,node2
.right
) && check(nodel
.right
,node2
.left
);
}