2022-5-16 每日一题-leetcode
题目链接:https://leetcode.cn/problems/successor-lcci/
个人题解:
- 先判断是不是在右子树,如果是在右子树的话直接遍历即可。
- 反之,我们要重建一个 \(node\),从头节点开始遍历。
代码:
class Solution {
public:
TreeNode* inorderSuccessor(TreeNode* root, TreeNode* p) {
TreeNode* node=root;
TreeNode* res=NULL;
if(p->right){
res=p->right;
while(res->left) res=res->left;
return res;
}
else{
while(node){
if(node->val>p->val){
res=node;
node=node->left;
}
else node=node->right;
}
return res;
}
}
};
运行截图:


浙公网安备 33010602011771号