# Problem Tracker — Linked List

[অধ্যায়ে ফিরে যাও](../README.md) · [Pattern guide](../patterns.md) · [চিত্রসহ ব্যাখ্যা](../visual-explanation.md)

**এই তালিকার প্রতিটি problem-এর বাংলা নোট ইতিমধ্যেই লেখা আছে।** `Official task` বা platform link দিয়ে মূল প্রশ্ন ও judge খুলবে; `বাংলা নোট` বা `Note file` দিয়ে এখানকার ব্যাখ্যা খুলবে। `planned` হলো তোমার ব্যক্তিগত practice status, নোট অনুপস্থিত থাকার চিহ্ন নয়। Difficulty/স্তর হলো এই পাঠক্রমের শেখার ক্রম; platform-এর difficulty আলাদা হতে পারে।

এই tracker কীভাবে ব্যবহার করবে:

- Problem 1–3 হলো non-negotiable muscle memory: চোখ বন্ধ করে লিখতে না পারা পর্যন্ত আবার আবার করো।
- `Status` update করো: planned → attempted → solved → reviewed।
- Code লেখার আগে "Inherits from" বাক্যটা মুখে বলো — এটা সঠিক pattern-টা মাথায় জাগিয়ে দেয়।
- **Note file** column-এ link থাকা মানে সেই note লেখা হয়ে গেছে — click করে পড়ো। Plain text মানে note এখনো লেখা হয়নি (পরে আসবে)।

| # | Problem | Difficulty | Source | Pattern | Inherits from | Note file | Status |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | একটা list-এর সব arrow উল্টে দাও (reverse করো) | Easy | [LeetCode 206](https://leetcode.com/problems/reverse-linked-list/) | In-place reversal | Insert-at-head, বারবার করা | [001-reverse-linked-list.md](001-reverse-linked-list.md) | planned |
| 2 | দুটো sorted chain-কে একটা sorted chain-এ zip করো | Easy | [LeetCode 21](https://leetcode.com/problems/merge-two-sorted-lists/) | Merge + dummy head | ../../02-arrays-and-strings/-এর two-pointer merge | [002-merge-two-sorted-lists.md](002-merge-two-sorted-lists.md) | planned |
| 3 | এই chain-টা কি চিরকাল ঘুরতে থাকে? | Easy | [LeetCode 141](https://leetcode.com/problems/linked-list-cycle/) | Slow/fast pointers | Traversal, দুই speed-এ দুবার চালানো | [003-linked-list-cycle.md](003-linked-list-cycle.md) | planned |
| 4 | এক pass-এ middle node-টা খোঁজো | Easy | [LeetCode 876](https://leetcode.com/problems/middle-of-the-linked-list/) | Slow/fast pointers | Cycle-check-এর skeleton (problem 3) | [004-middle-of-list.md](004-middle-of-list.md) | planned |
| 5 | Sorted list-এ পরপর সমান value-র run গুলো ভেঙে দাও | Easy | [LeetCode 83](https://leetcode.com/problems/remove-duplicates-from-sorted-list/) | Pointer rewiring | Delete-after-node operation | [005-remove-duplicates-sorted-list.md](005-remove-duplicates-sorted-list.md) | planned |
| 6 | একটা নির্দিষ্ট value ধরে রাখা প্রতিটা node সরাও | Easy | [LeetCode 203](https://leetcode.com/problems/remove-linked-list-elements/) | Dummy head | Delete-by-value + dummy head-কে un-special বানায় | [006-remove-elements.md](006-remove-elements.md) | planned |
| 7 | শুধু সেই node-টা হাতে পেয়ে সেটাকেই delete করো | Easy | [LeetCode 237](https://leetcode.com/problems/delete-node-in-a-linked-list/) | Value-copy trick | Bypass deletion, উল্টো করে | [007-delete-given-node.md](007-delete-given-node.md) | planned |
| 8 | দুটো chain প্রথম কোথায় একটা node share করে? | Easy | [LeetCode 160](https://leetcode.com/problems/intersection-of-two-linked-lists/) | Two pointers, path switching | Runner/gap thinking | [008-intersection-of-lists.md](008-intersection-of-lists.md) | planned |
| 9 | শেষ থেকে nth node-টা এক pass-এ delete করো | Medium | [LeetCode 19](https://leetcode.com/problems/remove-nth-node-from-end-of-list/) | Runner + dummy | Slow/fast, speed ratio-র বদলে একটা fixed gap নিয়ে | [009-remove-nth-from-end.md](009-remove-nth-from-end.md) | planned |
| 10 | উল্টো digit chain হিসেবে রাখা দুটো সংখ্যা যোগ করো | Medium | [LeetCode 2](https://leetcode.com/problems/add-two-numbers/) | Dummy head + carry | Merge skeleton + স্কুলের যোগ (math fundamentals) | [010-add-two-numbers.md](010-add-two-numbers.md) | planned |
| 11 | Cycle যেখানে শুরু সেই node-টা খোঁজো | Medium | [LeetCode 142](https://leetcode.com/problems/linked-list-cycle-ii/) | Floyd's phase 2 | Cycle detection (problem 3) + distance algebra | [011-cycle-start.md](011-cycle-start.md) | planned |
| 12 | প্রতি দুটো পাশাপাশি node swap করো | Medium | [LeetCode 24](https://leetcode.com/problems/swap-nodes-in-pairs/) | Rewiring + dummy | Insert-after-এর ordering rule, দ্বিগুণ করে | [012-swap-pairs.md](012-swap-pairs.md) | planned |
| 13 | শুধু position left..right reverse করো | Medium | [LeetCode 92](https://leetcode.com/problems/reverse-linked-list-ii/) | Segmented reversal | Full reversal (problem 1) + সাবধানে boundary সেলাই | [013-reverse-sublist.md](013-reverse-sublist.md) | planned |
| 14 | List-টা কি palindrome, O(1) space ব্যবহার করে? | Medium | [LeetCode 234](https://leetcode.com/problems/palindrome-linked-list/) | Middle + reverse-half combo | Problem 1 আর 4 জোড়া লাগিয়ে | [014-palindrome-list.md](014-palindrome-list.md) | planned |
| 15 | List-টা ভাঁজ করো: L0, Ln, L1, Ln-1, ... | Medium | [LeetCode 143](https://leetcode.com/problems/reorder-list/) | Middle + reverse + merge combo | Problem 1, 2, 4 — triple combo | [015-reorder-list.md](015-reorder-list.md) | planned |
| 16 | List-টা ডানে k ঘর rotate করো | Medium | [LeetCode 61](https://leetcode.com/problems/rotate-list/) | Runner / close-the-ring | Runner gap (problem 9) + modular k (math fundamentals) | [016-rotate-list.md](016-rotate-list.md) | planned |
| 17 | একটা linked list O(n log n)-এ sort করো | Medium | [LeetCode 148](https://leetcode.com/problems/sort-list/) | Merge sort on chains | Middle দিয়ে split (4) + merge (2), recursively | [017-sort-list.md](017-sort-list.md) | planned |
| 18 | Random pointer-ওয়ালা list-এর deep-copy বানাও | Medium | [LeetCode 138](https://leetcode.com/problems/copy-list-with-random-pointer/) | Interleaving / hash map | Rewiring discipline + map-as-memory | [018-copy-random-list.md](018-copy-random-list.md) | planned |
| 19 | k-টা sorted chain efficiently merge করো | Hard | [LeetCode 23](https://leetcode.com/problems/merge-k-sorted-lists/) | Merge + heap / divide & conquer | Problem 2 scale করা; heap-এর preview | [019-merge-k-lists.md](019-merge-k-lists.md) | planned |
| 20 | List-টা একবারে k node করে reverse করো | Hard | [LeetCode 25](https://leetcode.com/problems/reverse-nodes-in-k-group/) | Segmented reversal | Problem 13 একটা loop-এ, group counting সহ | [020-reverse-k-group.md](020-reverse-k-group.md) | planned |
| 21 | O(1) get/put-এর একটা LRU cache design করো | Hard | [LeetCode 146](https://leetcode.com/problems/lru-cache/) | Doubly linked list + hash map | এই chapter-এর সবকিছু + hash maps | [021-lru-cache.md](021-lru-cache.md) | planned |

## Suggested milest
