题解 | #对称的二叉树#

对称的二叉树

http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb

/*
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){  //特殊值判断,如果是空二叉树,则是对称二叉树,返回true
            return true;
        }
        return isSymmetrical2Tree(pRoot,pRoot);
    }
    //该函数用于判断两棵二叉树是否是对称二叉树
    public static boolean isSymmetrical2Tree(TreeNode root1,TreeNode root2){
        //。情况1:如果两棵二叉树都为空,则是对称二叉树
        if(root1 == null && root2 == null){
            return true;
        }
        //。情况2:如果两棵二叉树中有一棵是空二叉树,则不是对称二叉树
        if(root1 == null || root2 == null){
            return false;
        }
        //。情况3:如果两棵二叉树都不为空,则还要进行下一步判断,如果根节点的值不相等,则不是对称二叉树
        if(root1.val != root2.val){
            return false;
        }
        //递归两棵二叉树的子节点
        return isSymmetrical2Tree(root1.left,root2.right) && isSymmetrical2Tree(root1.right,root2.left);
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务