530. 二元搜尋樹的最小絕對差
EasyMinimum Absolute Difference in BST
TreeDepth-First SearchBinary Search TreeIn-order Traversal
題目描述
給定一棵二元搜尋樹的根節點 root,請回傳樹中任意兩個不同節點值之間的最小絕對差值。BST 的中序遍歷結果為嚴格遞增序列,因此最小差值必定出現在中序遍歷的相鄰節點之間。
LeetCode 530原題連結 →解法思路
- 利用 BST 的特性:中序遍歷結果為嚴格遞增序列
- 在中序遍歷過程中,使用 prev 變數記錄上一個訪問的節點值
- 每次訪問新節點時,計算與 prev 的差值並更新最小差值 minDiff
- 遍歷完成後回傳 minDiff,時間複雜度 O(n),空間複雜度 O(h)
複雜度分析
- 時間複雜度:O(n)
- 空間複雜度:O(h),h 為樹的高度
中序遍歷序列
尚未訪問任何節點...
minDiff = ∞
演算法開始。初始化 minDiff 為無窮大,prev 為 None。即將開始中序遍歷。
1 / 7