您的位置:首页 > 其它

[LeetCode]101. Symmetric Tree

2016-03-10 20:29 253 查看
题意: 给你一棵二叉树,判断是否是镜面对称

思路: 从根节点开始,依次向两边展开,左右分别相等之后,分别判断左节点和右节点的(左孩子和右孩子)和(右孩子和左孩子)【镜面对称】,发现不相等或者为空,则返回错误

代码:

public boolean isSymmetric(TreeNode root) {
if(root == null){
return true;
}
return compare(root.left, root.right);
}
public boolean compare(TreeNode left, TreeNode right){
if((left == null && right != null)||(left != null && right == null)){
return false;
}
if(left == null && right == null){
return true;
}
if(left.val != right.val){
return false;
}
boolean left_ = compare(left.left, right.right);
boolean right_ = compare(left.right, right.left);
return left_ && right_;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 二叉树