题目描述
解题思路
- 使用队列的思想来进行层次遍历
- 数组队列存储当前节点的左右指针,然后将队头清除,知道队列中的所有元素都被清空。
解题代码
var levelOrder = function (root) { if (root === null) return []; const result = []; const pointer = [root]; while (pointer.length !== 0) { result.push(pointer[0].val); if (pointer[0].left !== null) { pointer.push(pointer[0].left); } if (pointer[0].right !== null) { pointer.push(pointer[0].right); } pointer.shift(); } return result; }; 作者:Always_positive 链接:https://juejin.cn/post/6948663617654882312 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
总结
- 本题属于二叉树的层次遍历问题
- 核心点在于使用队列来存储当前节点的左右子节点。
- 队列的判断条件是队头元素是否存在。