原題鏈接:
98. 驗證二叉搜索樹
https://leetcode.cn/problems/validate-binary-search-tree/
完成情況:
文章來源:http://www.zghlxwxcb.cn/news/detail-561543.html
解題思路:
//保證按照規(guī)則來,往左邊走就要,不能比當前值還大了;往右邊走就要,不能比當前值還小了;文章來源地址http://www.zghlxwxcb.cn/news/detail-561543.html
參考代碼:
package 西湖算法題解___中等題;
public class __98驗證二叉搜索樹 {
public static void main(String[] args) {
}
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
public boolean isValidBST(TreeNode root) {
return isValidBST(root,Long.MIN_VALUE,Long.MAX_VALUE);
}
/**
*
* @param node
* @param lower
* @param upper
* @return
*/
private boolean isValidBST(TreeNode node, long lower, long upper) {
if (node == null){
return true;
}
//一定每個值要卡在中間才行
if (node.val <= lower || node.val >= upper){
return false;
}
//保證按照規(guī)則來,往左邊走就要,不能比當前值還大了;往右邊走就要,不能比當前值還小了;
return isValidBST(node.left,lower, node.val) && isValidBST(node.right, node.val,upper);
}
}
到了這里,關于98. 驗證二叉搜索樹的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!