【微軟面試題】在二叉搜尋樹中找最小的大於某個key值的節點
在二叉搜尋樹中找最小的大於某個key值的節點
如
8
/ \
6 12
/ / \
2 11 14
key = 8 返回11
key = 1 返回2
key = 16 返回NULL
struct TreeNode
{
int val;
TreeNode* left;
TreeNode* right;
};
// 迭代實現
TreeNode * FindCeiling(TreeNode *root, int key)
{
TreeNode * ceiling = NULL;
TreeNode * current = root;
while(current)
{
if(current->val <= key)
current = current->right;
else
{
ceiling = current;
current = current->left;
}
}
return ceiling;
}
// 遞迴實現
TreeNode * FindCeiling(TreeNode *root, int key)
{
if(root == NULL)
return NULL;
if(root->val <= key)
return FindCeiling(root->right, key);
else
{
TreeNode *ceiling = FindCeiling(root->left, key);
return ceiling ? ceiling : root;
}
}
相關文章
- Java中在二叉搜尋樹中查詢節點的父節點Java
- 刷題系列 - 在給出二叉樹中兩個點,求出其最小共同父節點二叉樹
- 每日一題 - 劍指 Offer 54. 二叉搜尋樹的第k大節點每日一題
- 面試8:找二叉樹的下個結點面試二叉樹
- 【LeetCode二叉樹#17】在二叉搜尋樹中插入或刪除某個值(涉及重構二叉樹、連結串列基礎、以及記憶體洩漏問題)LeetCode二叉樹記憶體
- 利用非遞迴演算法來搜尋二叉樹中的某個元素java遞迴演算法二叉樹Java
- 二叉樹兩個節點的公共節點二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 刷題系列 - 在二叉樹中,為每個節點關聯其右相鄰節點二叉樹
- 程式碼隨想錄演算法訓練營day22 | leetcode 235. 二叉搜尋樹的最近公共祖先、701. 二叉搜尋樹中的插入操作、450. 刪除二叉搜尋樹中的節點演算法LeetCode
- Leetcode 700. 二叉搜尋樹中的搜尋(DAY 2)LeetCode
- 刷題系列 - 在二叉樹中查詢給出節點,並返回以該節點為根的樹二叉樹
- 【LeetCode動態規劃#04】不同的二叉搜尋樹(找規律,有點像智力題)LeetCode動態規劃
- 二叉樹中兩個節點的最低公共祖先二叉樹
- 二叉搜尋樹的操作集
- 面試題36:二叉搜尋樹與雙向連結串列面試題
- 尋找陣列中的最大值和最小值O(1.5*N)陣列
- leetcode 700. 二叉搜尋樹中的搜尋 思考分析LeetCode
- 劍指offer 面試題 7 :二叉樹的下一個節點是什麼?面試題二叉樹
- 二叉搜尋樹和二叉樹的最近公共祖先二叉樹
- 701. 二叉搜尋樹中的插入操作
- 為什麼二叉樹中葉子節點個數等於度為2的節點個數+1二叉樹
- 在陣列中尋找和為指定值的兩個數陣列
- 22天【程式碼隨想錄演算法訓練營34期】第六章 二叉樹part08 (● 235. 二叉搜尋樹的最近公共祖先 ● 701.二叉搜尋樹中的插入操作 ● 450.刪除二叉搜尋樹中的節點)演算法二叉樹
- 153. 尋找旋轉排序陣列中的最小值(中)排序陣列
- 數字之魅:尋找陣列中的最大值和最小值陣列
- Treap——堆和二叉樹的完美結合,價效比極值的搜尋樹二叉樹
- leetcode 450. delete-node-in-a-bst 刪除二叉搜尋樹中的節點 python3LeetCodedeletePython
- leetcode------給定一個二叉樹和一個值sum,判斷是否有從根節點到葉子節點的節點值之和等於sum 的路徑,LeetCode二叉樹
- 008,二叉樹的下一個節點二叉樹
- 快速求完全二叉樹的節點個數二叉樹
- 二叉搜尋樹的python實現Python
- 【vue】在二叉樹中根據子節點找出父節點路徑Vue二叉樹
- 程式碼隨想錄 第20天 20的總結沒看 | 654.最大二叉樹 ● 617.合併二叉樹 ● 700.二叉搜尋樹中的搜尋 ● 98.驗證二叉搜尋樹二叉樹
- 二叉樹的最小深度問題二叉樹
- LintCode 尋找旋轉排序陣列中的最小值 II排序陣列
- 如何在 Java 中實現二叉搜尋樹Java
- javascript實現二叉搜尋樹JavaScript