docs(docs): add Approach diagrams and Explanation sections to LeetCode problem documentation

This commit is contained in:
Prad Nukala committed 2026-09-21 15:53:21 -04:00
1 parent b8c779903f
commit 23eb71d387
19 files changed
+439

No files matched your search

@@ -26,6 +26,23 @@ If the BST is modified often (i.e., we can do insert and delete operations) and
- `1 <= k <= n <= 10^4`
- `0 <= Node.val <= 10^4`
## Approach
```mermaid
flowchart TD
S(["kthSmallest(root, k)"]) --> I["n = 0, stack = [], cur = root"]
I --> W{"cur or stack?"}
W -- no --> E(["fall off the loop — unreachable, k <= n"])
W -- yes --> L{"cur?"}
L -- yes --> P["stack.append(cur), cur = cur.left — push the whole left spine"]
P --> L
L -- no --> O["cur = stack.pop(), n += 1 — nodes pop in ascending order"]
O --> K{"n == k?"}
K -- yes --> R(["return cur.val"])
K -- no --> N["cur = cur.right"]
N --> W
```
## Solution
```py
@@ -52,3 +69,7 @@ class Solution:
return cur.val
cur = cur.right
```
## Explanation
<YouTube id="5LUXSvjmGCw" title="Kth Smallest Element in a BST - Leetcode 230 - Python" />