refactor: 0102.二叉树的层序遍历.md

This commit is contained in:
qiufeihong2018
2024-04-29 16:12:38 +08:00
parent f755ecc5fc
commit 5ee2f42edb
2 changed files with 22 additions and 20 deletions

View File

@ -692,27 +692,29 @@ func levelOrderBottom(root *TreeNode) [][]int {
#### Javascript: #### Javascript:
```javascript ```javascript
var levelOrderBottom = function(root) { var levelOrderBottom = function (root) {
let res = [], queue = []; let res = [],
queue.push(root); queue = [];
while(queue.length && root!==null) { queue.push(root);
// 存放当前层级节点数组 while (queue.length && root !== null) {
let curLevel = []; // 存放当前层级节点数组
// 计算当前层级节点数量 let curLevel = [];
let length = queue.length; // 计算当前层级节点数量
while(length--) { let length = queue.length;
let node = queue.shift(); while (length--) {
// 把当前层节点存入curLevel数组 let node = queue.shift();
curLevel.push(node.val); // 把当前层节点存入curLevel数组
// 把下一层级的左右节点存入queue队列 curLevel.push(node.val);
node.left && queue.push(node.left); // 把下一层级的左右节点存入queue队列
node.right && queue.push(node.right); node.left && queue.push(node.left);
} node.right && queue.push(node.right);
// 从数组前头插入值,避免最后反转数组,减少运算时间
res.unshift(curLevel);
} }
return res; // 从数组前头插入值,避免最后反转数组,减少运算时间
res.unshift(curLevel);
}
return res;
}; };
``` ```
#### TypeScript: #### TypeScript:

View File

@ -71,7 +71,7 @@
有递归的地方就有回溯,那么回溯在哪里呢? 有递归的地方就有回溯,那么回溯在哪里呢?
递归函数的下面,例如如下代码: 就递归函数的下面,例如如下代码:
```cpp ```cpp
void dfs(参数) { void dfs(参数) {