連結リスト・木・バックトラッキング
トラック 2 はここから始まり、この先の問題集はどれも再帰が土台になります。連結リストと二分木は、多くの人が初めて自分自身を呼び出す関数を書く場所です。バックトラッキングは同じ考え方を広げて、すべての選択を試しては元に戻していきます。
5 つの章は、Reverse Linked List のような連結リストの問題から始まり、二分木、一般の木、バックトラッキング、再帰と分割統治へと進みます。グリッド、動的計画法、グラフに進む前に、再帰を当たり前に書けるようにしておきたい人に向いています。
292 問レーティング 1151–30185 章
書斎を開く
誰かと一緒にこの問題集を進めたいなら、ログインして書斎を開いてみてください。ヒロインが一問ずつ出題してくれます。
一、Linked List
§1.1 Linked Listの走査
§1.2 ノードの削除
§1.3 ノードの挿入
| 問題 | レーティング |
|---|---|
| 2807. Insert Greatest Common Divisors in Linked List | 1279 |
| 147. Insertion Sort List | 未評価 |
§1.4 Linked Listの反転
| 問題 | レーティング |
|---|---|
| 206. Reverse Linked List | 未評価 |
| 92. Reverse Linked List II | 未評価 |
| 24. Swap Nodes in Pairs | 未評価 |
| 25. Reverse Nodes in K Group | 未評価 |
| 2074. Reverse Nodes in Even Length Groups | 1685 |
§1.5 前後のTwo Pointers
| 問題 | レーティング |
|---|---|
| 19. Remove Nth Node From End of List | 未評価 |
| 61. Rotate List | 未評価 |
| 1721. Swapping Nodes in a Linked List | 1387 |
§1.6 fast pointerとslow pointer
§1.7 Two Pointers
| 問題 | レーティング |
|---|---|
| 328. Odd Even Linked List | 未評価 |
| 86. Partition List | 未評価 |
| 160. Intersection of Two Linked Lists | 未評価 |
§1.8 Linked Listのマージ
| 問題 | レーティング |
|---|---|
| 2. Add Two Numbers | 未評価 |
| 445. Add Two Numbers II | 未評価 |
| 2816. Double a Number Represented As a Linked List | 1394 |
| 21. Merge Two Sorted Lists | 未評価 |
§1.9 Divide and Conquer
| 問題 | レーティング |
|---|---|
| 23. Merge K Sorted Lists | 未評価 |
| 148. Sort List | 未評価 |
二、Binary Tree
§2.1 Binary Treeの走査
§2.2 トップダウン DFS(先行順)
§2.3 ボトムアップ DFS(後行順)
§2.4 ボトムアップ DFS:ノードの削除
| 問題 | レーティング |
|---|---|
| 814. Binary Tree Pruning | 1380 |
| 1325. Delete Leaves with a Given Value | 1407 |
| 1110. Delete Nodes AND Return Forest | 1511 |
§2.5 行きと帰りの両方で処理する
| 問題 | レーティング |
|---|---|
| 538. Convert Bst to Greater Tree | 未評価 |
| 1038. Binary Search Tree to Greater Sum Tree | 1375 |
| 865. Smallest Subtree with All the Deepest Nodes | 1534 |
| 1080. Insufficient Nodes in Root to Leaf Paths | 1805 |
§2.6 Binary Treeの直径
| 問題 | レーティング |
|---|---|
| 543. Diameter of Binary Tree | 未評価 |
| 687. Longest Univalue Path | 未評価 |
| 124. Binary Tree Maximum Path Sum | 未評価 |
| 2385. Amount of Time for Binary Tree to Be Infected | 1711 |
§2.7 Backtracking
| 問題 | レーティング |
|---|---|
| 257. Binary Tree Paths | 未評価 |
| 113. Path Sum II | 未評価 |
| 1457. Pseudo Palindromic Paths in a Binary Tree | 1405 |
| 437. Path Sum III | 未評価 |
§2.8 Lowest Common Ancestor (LCA)
§2.9 Binary Search Tree
§2.10 Binary Treeの構築
§2.11 ノードの挿入 / 削除
| 問題 | レーティング |
|---|---|
| 701. Insert Into a Binary Search Tree | 未評価 |
| 450. Delete Node in a Bst | 未評価 |
| 669. Trim a Binary Search Tree | 未評価 |
§2.12 Tree DP
| 問題 | レーティング |
|---|---|
| 337. House Robber III | 未評価 |
| 968. Binary Tree Cameras | 2124 |
§2.13 Binary Treeの BFS
§2.14 Linked List + Binary Tree
§2.15 N 分木
§2.16 その他
三、一般の木
§3.1 走査
| 問題 | レーティング |
|---|---|
| 2368. Reachable Nodes with Restrictions | 1477 |
| 1466. Reorder Routes to Make All Paths Lead to the City Zero | 1634 |
§3.2 トップダウン DFS
§3.3 ボトムアップ DFS
§3.4 行きと帰りの両方で処理する
| 問題 | レーティング |
|---|---|
| 3593. Minimum Increments to Equalize Leaf Paths | 1959 |
| 3331. Find Subtree Sizes After Changes | 2046 |
§3.5 木の直径
§3.6 木のTopological Sort
| 問題 | レーティング |
|---|---|
| 310. Minimum Height Trees | 未評価 |
| 2603. Collect Coins in a Tree | 2712 |
§3.7 DFS のタイムスタンプ(オイラーツアー)
| 問題 | レーティング |
|---|---|
| 3515. Shortest Path in a Weighted Tree | 2312 |
| 2322. Minimum Score After Removals on a Tree | 2392 |
| 3327. Check If DFS Strings Are Palindromes | 2454 |
| 3590. Kth Smallest Path XOR Sum | 2646 |
§3.8 Lowest Common Ancestor (LCA)、ダブリング
§3.9 木上のSliding Window
| 問題 | レーティング |
|---|---|
| 3425. Longest Special Path | 2435 |
| 3486. Longest Special Path II | 2925 |
§3.10 マージテク(sack)
| 問題 | レーティング |
|---|---|
| 2003. Smallest Missing Genetic Value in Each Subtree | 2415 |
| 3590. Kth Smallest Path XOR Sum | 2646 |
| 3575. Maximum Good Subtree Score | 2360 |
§3.11 重心分解
| 問題 | レーティング |
|---|---|
| 3372. Maximize the Number of Target Nodes After Connecting Trees I | 1927 |
§3.12 その他
| 問題 | レーティング |
|---|---|
| 2867. Count Valid Paths in a Tree | 2428 |
| 2421. Number of Good Paths | 2445 |
| 1719. Number of Ways to Reconstruct a Tree | 3018 |
四、Backtracking
§4.1 入門Backtracking
| 問題 | レーティング |
|---|---|
| 17. Letter Combinations of a Phone Number | 未評価 |
§4.2 部分集合型Backtracking
§4.3 分割型Backtracking
§4.4 組合せ型Backtracking
| 問題 | レーティング |
|---|---|
| 77. Combinations | 未評価 |
| 216. Combination Sum III | 未評価 |
| 1286. Iterator for Combination | 1591 |
| 22. Generate Parentheses | 未評価 |
| 301. Remove Invalid Parentheses | 未評価 |
§4.5 順列型Backtracking
§4.6 重複要素のあるBacktracking
§4.7 探索
五、その他のRecursion / Divide and Conquer
五、その他のRecursion / Divide and Conquer
トラック 2 の最初の問題集です。ルートでは「文字列とオートマトン」の次がおすすめですが、学習契約を結ぶときにここを選べば、この問題集から始められます。
レーティングは zerotrac さんによる LeetCode コンテストレーティングです。zerotrac のレーティングがない問題は「未評価」と表示されます。
書斎を開く