給定乙個所有節點為非負值的二叉搜尋樹,求樹中任意兩節點的差的絕對值的最小值。
示例 :
輸入:1\3
/2輸出:1
解釋:最小絕對差為1,其中 2 和 1 的差的絕對值為 1(或者 2 和 3)。
注意: 樹中至少有2個節點。
主要是用來中序遍歷的方法
# definition for a binary tree node.
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class solution:
def getminimumdifference(self, root: treenode) -> int:
res = self.bianli(root)
res.sort()
a =
for i in range(len(res)):
if ireturn min(a)
def bianli(self, root):
if not root:
return
return self.bianli(root.left)+[root.val]+self.bianli(root.right)
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 法二 優化後的中序遍歷,不開陣列,在遞迴過程中應用...
leetcode530 二叉樹的最小絕對差
題目非常簡單,之所以記錄一下是因為總是忽略中序遍歷的特性 排序二叉樹中序遍歷會得到乙個有序陣列。該特性很實用也很神奇,就像一顆滿二叉排序樹的根節點必然是對應有序陣列的中點一樣。該特性可以幫助我們更好的理解排序樹的結構。listre new linkedlist int min integer.max...