[LC] 285. Inorder Successor in BST
作者:互联网
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 p
is the node with the smallest key greater than p.val
.
Example 1:
Input: root = [2,1,3], p = 1 Output: 2 Explanation: 1's in-order successor node is 2. Note that both p and the return value is of TreeNode type.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { TreeNode res = null; while (root != null) { if (root.val <= p.val) { root = root.right; } else { // only when p.val < root, root can possibly be the successor, continue check root.left res = root; root = root.left; } } return res; } }
标签:node,TreeNode,val,BST,Inorder,int,root,285,successor 来源: https://www.cnblogs.com/xuanlu/p/12242399.html