給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。
假設乙個二叉搜尋樹具有如下特徵:
示例 1:
輸入:
2/ \
1 3
輸出: true
示例 2:
輸入:
5/ \
1 4
/ \3 6
輸出: false
解釋: 輸入為: [5,1,4,null,null,3,6]。
根節點的值為 5 ,但是其右子節點值為 4 。
二叉搜尋樹數的中序遍歷序列是單調遞增的,可以用遞迴的方法進行中序遍歷來檢驗。
注意用乙個指標變數來儲存上乙個訪問節點的值。
為什麼用指標呢?
因為空指標可以表示訪問的是第乙個節點,如果用乙個int變數來儲存,需要初始化為int_min,此時如果第乙個訪問節點就是int_min,就會判斷出錯。
/*
* 驗證二叉搜尋樹:中序遍歷應該是順序的
*/class
solution
};
leetcode 98 驗證二叉搜尋樹
給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 1 3 輸出 true 示例 2 輸入 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 關鍵資訊 1二叉搜尋樹的中序遍歷是遞...
leetcode 98 驗證二叉搜尋樹
給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 2 1 3 輸出 true示例 2 輸入 5 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 解題思路 中序遍歷遞增,每次只...
leetcode 98 驗證二叉搜尋樹
給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。乙個二叉搜尋樹具有如下特徵 示例 1 輸入 2 1 3 輸出 true示例 2 輸入 5 1 4 3 6 輸出 false 解釋 輸入為 5,1,4,null,null,3,6 根節點的值為 5 但是其右子節點值為 4 如果對二叉搜尋樹不夠了解,可能...