給定兩個值 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,你的程式應該返回...