BFC 普解对称二叉树

Posted 六六柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BFC 普解对称二叉树相关的知识,希望对你有一定的参考价值。

为啥是普解,学会 BFC 这个题目真的 10 分钟轻轻松松拿下,没有悬念。如果你还不了解 BFC,可以看这篇文章 

题目

LeetCode 101

分析

BFS 解法,使用一个队列缓存当前层的所有节点,拿到节点后比较正序和 reverse 之后的是否相等。如果中间不相等,直接返回。然后一直遍历直到遍历完所有节点。

实现

BFS 遍历二插树的每一层,然后比较该层的节点值是否镜像相等。如果你还不知道如何通过 BFC 遍历二叉树

/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } *//** * @param {TreeNode} root * @return {boolean} */var isSymmetric = function(root) { //递归结束条件 // 1.没有子节点,且前面的节点都是堆成的 // 2.有子节点,但出现了不对称的情况 if(!root) return true; let list = [root]; let flag = true; const dp = (list) => { let tmp = [...list].map(item => item ? (item.val != null ? item.val :'null') : 'null'); if(tmp.join('') != tmp.reverse().join('')) { flag = false return; } while(list.length) { let len = list.length; for(let i = 0; i < len; i++) { const node = list.shift(); if(node) { list.push(node.left); list.push(node.right); } } dp(list) }  } dp(list); return flag;};

「 一枚前端学习小透明,努力学习前端知识,同时分享自己对生活的一些思考,欢迎一起讨论交流。如果我的文章对你有帮助,请点个赞,会非常感恩你的鼓励。完」


以上是关于BFC 普解对称二叉树的主要内容,如果未能解决你的问题,请参考以下文章

判断二叉树是否对称的代码

2021-10-05:对称二叉树。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。力扣101。

101. 对称二叉树

101. 对称二叉树

面试题28:对称的二叉树

剑指offer面试题 28. 对称的二叉树