學習路線/樹 — 深度優先搜尋 (DFS)

530. 二元搜尋樹的最小絕對差

Easy

Minimum Absolute Difference in BST

TreeDepth-First SearchBinary Search TreeIn-order Traversal

題目描述

給定一棵二元搜尋樹的根節點 root,請回傳樹中任意兩個不同節點值之間的最小絕對差值。BST 的中序遍歷結果為嚴格遞增序列,因此最小差值必定出現在中序遍歷的相鄰節點之間。

LeetCode 530原題連結 →

解法思路

  1. 利用 BST 的特性:中序遍歷結果為嚴格遞增序列
  2. 在中序遍歷過程中,使用 prev 變數記錄上一個訪問的節點值
  3. 每次訪問新節點時,計算與 prev 的差值並更新最小差值 minDiff
  4. 遍歷完成後回傳 minDiff,時間複雜度 O(n),空間複雜度 O(h)

複雜度分析

  • 時間複雜度:O(n)
  • 空間複雜度:O(h),h 為樹的高度
42136

中序遍歷序列

尚未訪問任何節點...
minDiff =
演算法開始。初始化 minDiff 為無窮大,prev 為 None。即將開始中序遍歷。
1 / 7