|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
- }
- }
- };
复制代码 |
|