LeetCode 题解(266) : Inorder Successor in BST
来源:互联网 发布:如何买域名和空间视频 编辑:程序博客网 时间:2024/05/21 10:15
题目:
Given a binary search tree and a node in it, find the in-order successor of that node in the BST.
Note: If the given node has no in-order successor in the tree, returnnull
.
题解:
用了递归。循环应该略有难度。
C++版
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* inorderSuccessor(TreeNode* root, TreeNode* p) { inorder(root, p); return successor; } bool inorder(TreeNode* root, TreeNode* p) { if(root->left) { if(inorder(root->left, p)) return true; } if(found) { successor = root; return true; } if(root == p) found = true; if(root->right) { if(inorder(root->right, p)) return true; } return false; } TreeNode* successor = NULL; bool found = false; };
Python版:
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def __init__(self): self.find = False self.successor = None def inorderSuccessor(self, root, p): """ :type root: TreeNode :type p: TreeNode :rtype: TreeNode """ self.inorder(root, p) return self.successor def inorder(self, root, p): if root.left != None: if self.inorder(root.left, p): return True if self.find: self.successor = root return True if root == p: self.find = True if root.right != None: if self.inorder(root.right, p): return True return False
0 0
- LeetCode 题解(266) : Inorder Successor in BST
- **LeetCode-Inorder Successor in BST
- [leetcode]Inorder Successor in BST
- leetcode Inorder Successor in BST
- [LeetCode]Inorder Successor in BST
- Leetcode - 285.Inorder Successor in BST
- LeetCode 285. Inorder Successor in BST
- Leetcode 285. Inorder Successor in BST
- LeetCode 285. Inorder Successor in BST
- Inorder Successor in BST
- Inorder Successor in BST
- Inorder Successor in BST
- Inorder Successor in BST
- Inorder Successor in BST
- [刷题]Inorder Successor in BST
- [LeetCode285]Inorder Successor in BST
- 285. Inorder Successor in BST
- 285. Inorder Successor in BST
- 祭奠
- hist的使用
- 使用命令窗口(cmd)向数据库中写入数据
- 在 iOS 中获取唯一标识符的几种方案
- 向ActionBar中添加自定义的View
- LeetCode 题解(266) : Inorder Successor in BST
- 安卓解析XML文件系列3:使用DOM方式
- ECS 服务器CentOS系统如何开放端口
- ssh集成
- 自增符号++(自减符号--)带来的部分影响
- 在ListView中嵌套ListView的事件处理
- 【经典算法】: 罗马数字
- BZOJ 4292 PA2015 Równanie 枚举
- C语言连接Mysql数据库