Skip to content

Commit bb9d457

Browse files
committed
feat(107): 优化解法
1 parent 3f7af54 commit bb9d457

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

Binary-Tree/107/solution2.js

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,25 @@
11
/**
2-
* 107. 二叉树的层次遍历 II
3-
*
4-
* https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
5-
*
6-
*
7-
* Easy
8-
*
9-
* 76ms 96.06%
10-
* 35.1mb 8.70%
2+
* 时间复杂度:O(n)
3+
* 空间复杂度:O(n)
114
*/
12-
const levelOrderBottom = root => {
13-
const ans = []
14-
levelOrder(root, 0, ans)
15-
ans.reverse()
16-
return ans
5+
const levelOrderBottom = root => {
6+
const ans = [];
7+
dfs(root, 0, ans);
8+
ans.reverse();
9+
return ans;
1710
}
1811

19-
function levelOrder(root, level, ans) {
12+
function dfs(root, level, ans) {
2013
if (!root) {
21-
return null
14+
return;
2215
}
23-
ans[level] || (ans[level] = [])
2416

25-
ans[level].push(root.val)
17+
if (!ans[level]) {
18+
ans[level] = [];
19+
}
2620

27-
levelOrder(root.left, level + 1, ans)
28-
levelOrder(root.right, level + 1, ans)
21+
ans[level].push(root.val);
22+
dfs(root.left, level + 1, ans);
23+
dfs(root.right, level + 1, ans);
24+
return;
2925
}
30-

0 commit comments

Comments
 (0)