1問題描述:
給定一棵二叉查詢樹和乙個新的樹節點,將節點插入到樹中。
你需要保證該樹仍然是一棵二叉查詢樹。 樣例
給出如下一棵二叉查詢樹,在插入節點6之後這棵二叉查詢樹可以是這樣的:
2 2
/ \ / \
1 4 --> 1 4
/ / \
3 3 6
2解題思路:利用二叉查詢樹的特性,根據插入節點的值和根節點的值進行比較,若比根節點的值小則在根的左子樹上插入,否則在右子樹上插入。
3解題**:
/*** definition of treenode:
* class treenode
* }*/
class solution
if(node->valval)
if(node->val>root->val)
return root;}};
4解題感想:
這道題是一道基本題,想法很簡單得到。
lintcode 驗證二叉查詢樹
題目 給定乙個二叉樹,判斷它是否是合法的二叉查詢樹 bst 一棵bst定義為 節點的左子樹中的值要嚴格小於該節點的值。節點的右子樹中的值要嚴格大於該節點的值。左右子樹也必須是二叉查詢樹。乙個節點的樹也是二叉查詢樹。解題 二叉查詢樹中序遍歷是公升序,可以中序遍歷後,根據是否公升序判斷是否是二叉查詢樹,...
Lintcode 二叉查詢樹中搜尋區間
給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。您在真實的面試中是否遇到過這個題?yes 樣例如果有 k1 10和 k2 22,你的程式應該返回...
Lintcode 二叉查詢樹中搜尋區間
給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。yes樣例 20 8 22 4 12 其實,一開始看到這個問題,有點像是線段樹。思路 將問題想明...