給定乙個二叉樹,判斷它是否是合法的二叉查詢樹(bst)
一棵bst定義為:
乙個例子:
2
/ \1 4
/ \3 5
上述這棵二叉樹序列化為
.
二叉查詢樹有乙個重要的性質:即中序遍歷遞增(不存在兩個節點值相等),根據此,中序遍歷完成後,檢視序列是否有序即可知道是否是二叉查詢樹。
/**
* definition of treenode:
* public class treenode
* }*/public class solution
private void isvalidbst(treenode root, listlist)
private boolean isorder(listlist)
* }*/public class solution
root = stack.pop();
if(pre!=null && pre.val>=root.val)
return false;
pre = root;
root = root.right;
}return true;
}}
/**
* definition of treenode:
* public class treenode
* }*/public class solution
private boolean helper(treenode root, long min, long max)
}
lintcode 95 驗證二叉查詢樹
給定乙個二叉樹,判斷它是否是合法的二叉查詢樹 bst 一棵bst定義為 樣例乙個例子 上述這棵二叉樹序列化為 標籤分治法 二叉查詢樹 遞迴 二叉樹 思路 方法一 中序遍歷這棵樹,用陣列儲存遍歷結果,若陣列嚴格遞增,則可判定這棵樹是乙個二叉排序樹 方法二 用prev指標記錄父節點資訊,遍歷樹,用二叉排...
兩次過 Lintcode 56 兩數之和
給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。example1 給出 numbers 2,7,11,15 target 9,返回 0,1 example2 ...
兩次過 Lintcode 1209 構造矩形
對於乙個web開發者,如何設計頁面大小很重要。所以,給定乙個矩形大小,設計其長 l 寬 w 使其滿足如下要求 1.矩形區域大小需要和給定目標相等。2.寬度w不大於長度l,也即l w.3.長和寬的差異盡可能的小。返回設計好的長度l和寬度w。樣例 輸入 4 輸出 2,2 解釋 目標區域是4,所有可能的構...