是差点运气,可我一直在努力!
当前进程:
开始时间:2020.6.27结束时间:undefined
GitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode
1、题目要求
( 剑指 Offer 32 - I ) 从上到下打印二叉树
2、解题思路
方法:广度优先搜索
注意:维护一个队列!!
标准的
BFS模板
2.1、JavaScript Solution
var levelOrder = function (root
) {
const res
= [];
if (root
=== null) {
return res
;
}
const queue
= [];
queue
.push(root
);
while (queue
.length
!== 0) {
for (let i
= 0; i
< queue
.length
; i
++) {
let currNode
= queue
.shift();
res
.push(currNode
.val
);
currNode
.left
&& queue
.push(currNode
.left
);
currNode
.right
&& queue
.push(currNode
.right
);
}
}
return res
;
};
2.2、TypeScript Solution
function levelOrder(root
: TreeNode
| null): number
[] {
const res
: number
[] = new Array<number
>();
if (root
=== null) {
return res
;
}
const queue
: Array
<TreeNode
| null> = new Array<TreeNode
| null>();
queue
.push(root
);
while (queue
.length
!== 0) {
for (let i
: number
= 0; i
< queue
.length
; i
++) {
let currNode
= queue
.shift();
currNode
&& res
.push(currNode
.val
);
currNode
&& currNode
.left
&& queue
.push(currNode
.left
);
currNode
&& currNode
.right
&& queue
.push(currNode
.right
);
}
}
return res
;
}