leetcode 練習二叉搜尋樹的最小絕對差

2021-10-24 17:09:11 字數 584 閱讀 2667

給你一棵所有節點為非負值的二叉搜尋樹,請你計算樹中任意兩節點的差的絕對值的最小值。

示例:輸入:13

/2輸出:1

解釋:最小絕對差為 1,其中 2 和 1 的差的絕對值為 1(或者 2 和 3)。

class

solution

:def

getminimumdifference

(self, root: treenode)

->

int:

# 二叉搜尋樹 左根右

defdfs

(root):if

not root:

return

yield

from dfs(root.left)

yield root.val

yield

from dfs(root.right)

pre , cur = tee(dfs(root)

)next

(cur)

return

min(b-a for a,b in

zip(pre,cur)

)

LeetCode演算法練習之恢復二叉搜尋樹

這個題目正常解不難,難的是需要常數空間的解法。所以說,不管是遞迴還是迭代,都無法滿足這個題目的需要。只能像有的鍊錶那樣從樹中搜尋,原位修改。實在想不出解題思路了,還是對時間複雜度了解的多,空間複雜度了解的少,看了題解寫出的 definition for a binary tree node.stru...

leetcode 二叉樹 驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true 示例 2 輸入 5 1 4 3 6 輸出 false 解釋 ...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...