Algorithm I 筆記撰寫計畫 第十天第二題,共三題。
- 難度:
Easy
- 花費時間: 30 min
- 題目: 94. Binary Tree Inorder Traversal
中續遍歷一個二元樹,然後把結果回傳。
點我開啟限制與範例
限制:
- The number of nodes in the tree is in the range
[0, 100]
. -100 <= Node.val <= 100
Example 1:
1 | Input: root = [1,null,2,3] |
Example 2:
1 | Input: root = [] |
Example 3:
1 | Input: root = [1] |
筆記
這題要練習樹的中序走訪,遵照以下步驟:
- 有左子節點拿左子節點
- 沒有左子結點就退回去父節點,拿退回去的那個節點
- 拿右節點
題目有要求要用迴圈的作法,所以遞迴跟迴圈各寫一個解答。
Recursive
1 | function inorderTraversal(root: TreeNode | null, result: number[] = []): number[] { |
iterative
1 | function inorderTraversal(root: TreeNode | null): number[] { |
成績
Language | Runtime | Beats | Memory Usage | Beats |
---|---|---|---|---|
TS iterative | 73 ms | 90.15% | 44.4 MB | 53.69% |
TS recursive | 88 ms | 73.51% | 43.8 MB | 96.60% |