LeetCode 530 二叉搜尋樹的最小絕對差

2021-09-27 12:36:39 字數 745 閱讀 6182

給定乙個所有節點為非負值的二叉搜尋樹,求樹中任意兩節點的差的絕對值的最小值。

示例 :

輸入: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...