在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given a binary search tree and a node in it, find the in-order successor of that node in the BST. The successor of a node
Example 1: Input: root = 1
Output: 2
Explanation: 1's in-order successor node is 2. Note that both p and the return value is of TreeNode type.
Example 2: Input: root = 6
Output: null
Explanation: There is no in-order successor of the current node, so the answer is
Note:
给定一个二进制搜索树及其节点,在BST中查找该节点的顺序继承者。 节点p的后续节点是键最小大于p.val的节点。 例 1: 输入: root = 1
输出: 2
说明:1的顺序继承节点为2。请注意,p和返回值都是treenode类型。
例 2: 输入: root = [5,3,6,2,4,null,null,1], p = 6
输出: null
注:
Solution: 1 public class TreeNode { 2 public var val: Int 3 public var left: TreeNode? 4 public var right: TreeNode? 5 public init(_ val: Int) { 6 self.val = val 7 self.left = nil 8 self.right = nil 9 } 10 } 11 12 class Solution { 13 func inorderSuccessor(_ root: TreeNode?,_ p: TreeNode?) -> TreeNode? { 14 var root = root 15 var res:TreeNode? = nil 16 while(root != nil) 17 { 18 if root!.val > p!.val 19 { 20 res = root 21 root = root?.left 22 } 23 else 24 { 25 root = root?.right 26 } 27 } 28 return res 29 } 30 }
|
请发表评论