mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
refactor: 0102.二叉树的层序遍历.md
This commit is contained in:
@ -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:
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
有递归的地方就有回溯,那么回溯在哪里呢?
|
有递归的地方就有回溯,那么回溯在哪里呢?
|
||||||
|
|
||||||
就地递归函数的下面,例如如下代码:
|
就递归函数的下面,例如如下代码:
|
||||||
|
|
||||||
```cpp
|
```cpp
|
||||||
void dfs(参数) {
|
void dfs(参数) {
|
||||||
|
Reference in New Issue
Block a user