马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 2021-5-5 17:46 编辑
题目描述:设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。
如果指定节点没有对应的“下一个”节点,则返回null。
示例 1:
输入: root = [2,1,3], p = 1
2
/ \
1 3
输出: 2
示例 2:
输入: root = [5,3,6,2,4,null,null,1], 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;
}
}
}
};
|