230. Kth Smallest Element in a BST
題目網址:https://leetcode.cn/problems/kth-smallest-element-in-a-bst/
題意:給一 BST 的
root和一整數k, 返回 BST 中第k小的元素(從1開始計數)。


Solution:
想法:利用 BFS(inorder), 不斷取當前 node 的
left直到node->left為null, 由於left child是「後進先出」, 故要使用 stack。將這些left一個一個 pop 掉, 並將k減去1
- 若
k == 0, 代表當前node為第k小的數- 若
k > 0, 代表當前的數還太小, 故要嘗試其右子樹中的 node
class Solution { |
- time:$O(n)$ ➔ worse case:skew tree, 其中
n為 node 數 - space:$O(n)$ ➔ 取決於 stack 長度, 最大長度為
n
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論