101. 对称二叉树

2021-12-23 18:55:41 浏览数 (1)

思路:

递归: 只有根节点的值是比较两个儿子节点的值,其他结点都是左节点的左孩子和右节点的右孩子,右节点的左孩子和左节点的右孩子比较,因此这里搞了两级比较;

代码:

代码语言:javascript复制
class Solution {
    public boolean isSymmetric(TreeNode root) {
        if (root==null){
            return true;
        }
        return dfs(root.left,root.right);
    }

    private boolean dfs(TreeNode left, TreeNode right) {
        //如果全null
        if (left==null&&right==null){
            return true;
        }
        //如果只有一个为null
        if (left==null||right==null){
            return false;
        }
        //如果均不为null
        if (left.val!=right.val){
            return false;
        }
        return dfs(left.left,right.right)&&dfs(left.right,right.left);
    }
}

0 人点赞