题解 | #对称的二叉树#

对称的二叉树

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

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */
function isSymmetrical(pRoot)
{
    return check(pRoot, pRoot);
}
// 判断是否是对称的,需要比对左右两个子树,所以传入两个参数
function check(L, R) {
    // 叶子节点
    if(!L && !R) return true;
    // 不含左子树或不含右子树,或者左子树和右子树不等时 就返回false
    if(!L || !R || L.val != R.val) return false;
    // 不是上面的情况就继续往下比对(递归)
    return check(L.left, R.right) && check(L.right, R.left);
}
module.exports = {
    isSymmetrical : isSymmetrical
};

判断二叉树是否对称,是需要拿root的左右子树来比对的,这也就限定了我们不能自从一棵树自身去检查check(root),必须用两棵子树去一一比对check(root.left, root.right)。

全部评论

相关推荐

2024-12-20 18:56
已编辑
武汉轻工大学 后端
牛牛大啊:er图都冒出来了😂
点赞 评论 收藏
分享
01-15 17:34
保定学院 Java
数学转码崽:学历没优势就得卷项目和实习啊,但是我看了一下你这个项目,什么雪花算法,搜索引擎,Docker,minio这些都属于通用的东西啊,根本不算亮点,没有任何业务相关性。 还有第二个看到统一鉴权,分片上传估计面试官都不想看了。连我一个偶尔刷刷牛客简历的都看多了,面试官估计早都看吐了。。。 秋招结束了,就尽量找找中小厂吧,毕竟你现在转行已经没时间了,高低有一段实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务