98. Validate Binary Search Tree
題目網址:https://leetcode.cn/problems/validate-binary-search-tree/
題意:給一 BT 的
root
, 返回其是否為 BST。
Solution:
想法:利用 DFS, 當前 node 必須判斷是否在目前的上、下界中, 因此要不斷維護當前的上、下界。若 node->val 滿足當前上下界:
- 遞迴遍歷
node->left
, 並把node->val
設為上界- 遞迴遍歷
node->right
, 並把node->val
設為下界下圖中雖然
7 > 4
, 但它卻位於5
的左子樹中(此時的lower = 4
,upper = 5
), 故要返回false
class Solution { |
- time:$O(n)$ ➔ 遍歷整個 BT
- space:$O(n)$ ➔ 遞迴深度不超過
n
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論