題目非常簡單,之所以記錄一下是因為總是忽略中序遍歷的特性:排序二叉樹中序遍歷會得到乙個有序陣列。該特性很實用也很神奇,就像一顆滿二叉排序樹的根節點必然是對應有序陣列的中點一樣。該特性可以幫助我們更好的理解排序樹的結構。
listre=new linkedlist();int min=integer.max_value;
public
intgetminimumdifference(treenode root)
scan(root);
int length=re.size();
if(length==1)
for(int i=1;i)
return
min;
}public
void
scan(treenode node)
re.add(node.val);
if(node.right!=null
) }
LeetCode 530 二叉搜尋樹的最小絕對差
給定乙個所有節點為非負值的二叉搜尋樹,求樹中任意兩節點的差的絕對值的最小值。示例 輸入 1 3 2輸出 1 解釋 最小絕對差為1,其中 2 和 1 的差的絕對值為 1 或者 2 和 3 注意 樹中至少有2個節點。主要是用來中序遍歷的方法 definition for a binary tree no...
leetcode 530 二叉搜尋樹的最小絕對值
題目 思路一 分析 由於二叉搜尋樹的特性,右子樹方面 2 3 1。其絕對值最小值在3 1和2 1 之間產生,而左子樹 1 4 5,絕對值最小值在1 4和4 5之間 產生,所以,根據中序遍歷的順序,將中序遍歷的結果放進陣列,然後前面的值減去後 面的,得到差值的最小值。步驟 中序遍歷將節點放進陣列裡面 ...
LeetCode530 二叉搜尋樹的最小絕對差
題目 又是常見的bst,要利用bst的性質,即中序遍歷是有序遞增序列。法一 中序遍歷 1 class solution 10 11int getminimumdifference treenode root 18return min 19 2021 法二 優化後的中序遍歷,不開陣列,在遞迴過程中應用...