您的位置:首页 > 其它

判断一棵二叉树是否是对称的

2016-11-21 16:41 316 查看
package 对称的二叉树;
class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;

public TreeNode(int val) {
this.val = val;
}

}
public class Solution {

boolean isSymmetrical(TreeNode pRoot) {

if(isSymmetricalHelper(pRoot, pRoot)){
return true;
} else {
return false;
}
}

private boolean isSymmetricalHelper(TreeNode pRoot, TreeNode pRoot2) {
if(pRoot!=null){
if(pRoot2 != null){
if(pRoot.val == pRoot2.val){
return isSymmetricalHelper(pRoot.left, pRoot2.right) && isSymmetricalHelper(pRoot.right, pRoot2.left);
} else {
return false;
}
} else{
return false;
}
} else {
if(pRoot2 !=null){
return false;
} else {
return true;
}
}

}

public static void main(String[] args) {

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: