驗證二叉搜尋樹的golang實現

2022-07-25 06:57:06 字數 608 閱讀 8303

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。

乙個二叉搜尋樹具有如下特徵:

輸入:

2 /\ 1

3輸出:

true

輸入:

5 /\ 1

4 /\

36輸出:

false

解釋: 輸入為: [

5,1,4,null,null,3,6

]。 根節點的值為

5 ,但是其右子節點值為 4 。

我們只要判斷每個子樹中的左孩子小於根節點,右孩子大於根節點

還有乙個要注意的是,空樹也是二叉搜尋樹

func isvalidbst(root *treenode) bool

func isvalid(root *treenode, min int, max int) bool

if root.val <=min

if root.val >=max

return isvalid(root.left, min, root.val) &&isvalid(root.right, root.val, max)

}

驗證二叉搜尋樹

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

驗證二叉搜尋樹

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

驗證二叉搜尋樹

leetcode 98題 給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。必然從二叉搜尋樹的特性出發。容易知道,二叉搜尋樹的中序遍歷是乙個遞增的陣列。所...