Skip to content

对称二叉树 #18

Description

@YalongYan

题目地址: 对称二叉树

思路

1.整个树是否为镜像, 转化为,左右子树 l r是否为镜像
2.判断l r 为镜像的条件,就是 l r 都存在,同时 l.left = r.right && l.right = r.left
3. 递归遍历,递归的结束条件是 左右子树都不存在 !l && !r

代码

var isSymmetric = function(root) {
    if (!root) return true
    let isSame = (l, r) => {
        if (!l && !r) return true
        if (l && r && (l.val === r.val) && isSame(l.left, r.right) && isSame(l.right, r.left)) {
            return true
        }
        return false
    }
    return isSame(root.left, root.right)
};

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions