原題**:
給定兩個值 k1 和 k2(k1 < k2)和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。
您在真實的面試中是否遇到過這個題?
yes樣例如果有 k1 =10
和 k2 =22
, 你的程式應該返回[12, 20, 22]
.
20
/ \
8 22
/ \4 12
標籤
二叉樹二叉查詢樹
思路:中序遍歷基礎上加入判斷條件,如果節點值在k1~k2之間則插入結果陣列。
ac**:
/** * definition of treenode:
* class treenode
* } */
class
solution
return
re; }
void inordertra(treenode * root,vector &result,int k1,int
k2)
if (root->val>=k1&&root->val<=k2)
if (root->right!=null)
}};
11 二叉查詢樹中搜尋區間
給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。樣例如果有 k1 10和 k2 22,你的程式應該返回 12,20,22 20 8 22 4 1...
二叉排序樹 11 二叉查詢樹中搜尋區間
給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。您在真實的面試中是否遇到過這個題?yes 樣例如果有 k1 10和 k2 22,你的程式應該返回...
二叉查詢樹中搜尋區間
給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。如果有 k1 10和 k2 22,你的程式應該返回 12,20,22 20 8 22 4 12 ...