对称二叉树的判断

2022-03-01  本文已影响0人  名字是乱打的
题目描述
 请实现一个函数,用来判断一棵二叉树是不是对称的。
 注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

 示例1
 输入
 {8,6,6,5,7,7,5}
 返回值
 true

 示例2
 输入
 {8,6,9,5,7,7,5}
 返回值
 false

思路:逐层值匹配

boolean isSymmetrical(TreeNode pRoot) {
        if (pRoot==null){
            return true;
        }
        return check(pRoot.left,pRoot.right);
    }

    private boolean check(TreeNode left, TreeNode right) {
        if (left==null){
            return right==null;
        }
        if (right==null){
            return false;
        }
        if (left.val!=right.val){
            return false;
        }

        return check(left.left,right.right)&&check(left.right,right.left);
    }
上一篇 下一篇

猜你喜欢

热点阅读