給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。
乙個二叉搜尋樹具有如下特徵:
輸入:2 /\ 1
3輸出:
true
輸入:
5 /\ 1
4 /\
36輸出:
false
解釋: 輸入為: [
5,1,4,null,null,3,6
]。 根節點的值為
5 ,但是其右子節點值為 4 。
我們只要判斷每個子樹中的左孩子小於根節點,右孩子大於根節點
還有乙個要注意的是,空樹也是二叉搜尋樹
func isvalidbst(root *treenode) boolfunc 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題 給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。必然從二叉搜尋樹的特性出發。容易知道,二叉搜尋樹的中序遍歷是乙個遞增的陣列。所...