您的位置:首页 > 其它

对称的二叉树判断

2015-06-18 21:34 453 查看

对称的二叉树判断

题目描述

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

编码思路

如果一颗二叉树对称的话 根节点的两个左右子树有什么关系呢?

对左子树前序遍历 遍历顺序为 中 左 右

对右子树前序遍历 遍历顺序为 中 右 左

结果我们发现遍历序列顺序是相同的

That is All

代码

[code]/*
public 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(pRoot==null){
            return true;
        }

        return isSymmetrical( pRoot.left, pRoot.right);

    }
    boolean  isSymmetrical(TreeNode pRoot,TreeNode pRoot1){

        if(pRoot==null&&pRoot1!=null){
            return false;
        }
        if(pRoot1==null&&pRoot!=null){
            return false;
        }
        if(pRoot1!=null&&pRoot!=null){
        if(pRoot.val!=pRoot1.val){
            return false;
        }
        }
        if(pRoot==null&&pRoot1==null) 
        {
            return true;
        }

        return isSymmetrical( pRoot.left, pRoot1.right)&& isSymmetrical( pRoot.right, pRoot1.left);

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