101. 对称二叉树

2021-10-15  本文已影响0人  名字是乱打的

思路:

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

代码:

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);
    }
}
上一篇下一篇

猜你喜欢

热点阅读