二叉查詢樹中搜尋區間

2021-08-13 21:32:03 字數 1020 閱讀 8145

給定兩個值 k1 和 k2(k1 < k2)和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。

/**

* definition of treenode:

* class treenode

* }*/class solution

// stack to support mid-order visit

stackst;

while (root != null || !st.empty())

treenode * node = st.top();

st.pop();

if (node->val <= k2 && node->val >= k1)

root = node->right;

}return res;

}};

recursive:

/**

* definition of treenode:

* class treenode

* }*/class solution

// recurseve

midordervisit(root, k1, k2, res);

return res;

}void midordervisit(treenode* root, int k1, int k2, vector& res)

// visit left children

midordervisit(root->left, k1, k2, res);

// visit root

if (root->val <= k2 && root->val >= k1)

// visit right children

midordervisit(root->right, k1, k2, res);

}};

二叉查詢樹中搜尋區間

給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。如果有 k1 10和 k2 22,你的程式應該返回 12,20,22 20 8 22 4 12 ...

Lintcode 二叉查詢樹中搜尋區間

給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。您在真實的面試中是否遇到過這個題?yes 樣例如果有 k1 10和 k2 22,你的程式應該返回...

LintCode M 二叉查詢樹中搜尋區間

給定兩個值 k1 和 k2 k1 k2 和乙個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x k1 x k2 其中 x 是二叉查詢樹的中的節點值。返回所有公升序的節點值。您在真實的面試中是否遇到過這個題?yes 樣例如果有 k1 10和 k2 22,你的程式應該返回...