C++刷LeetCode(面试题 04.06. 后继者)【递归】
本帖最后由 糖逗 于 2021-5-5 17:46 编辑题目描述:
设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。
如果指定节点没有对应的“下一个”节点,则返回null。
示例 1:
输入: root = , p = 1
2
/ \
1 3
输出: 2
示例 2:
输入: root = , p = 6
5
/ \
3 6
/ \
2 4
/
1
输出: null
来源:力扣(LeetCode)
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
TreeNode* inorderSuccessor(TreeNode* root, TreeNode* p) {
//递归
if(root == NULL){
return NULL;
}
if(root -> val <= p -> val){
return inorderSuccessor(root -> right, p);
}else{
TreeNode* store = inorderSuccessor(root -> left, p);
if(store == NULL){
return root;
}else{
return store;
}
}
}
};
页:
[1]