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!
評論
