Inorder Successor in Binary Search Tree
Question
Solution
public TreeNode inorderSuccessor(TreeNode target, TreeNode root) {
if(target==null) return null;
if(target.right!=null) {
TreeNode curNode = target.right;
while(curNode.left!=null) curNode = curNode.left;
return curNode;
}else {
TreeNode curNode = root;
TreeNode resNode = null;
while(curNode!=target) {
if(curNode.val>target.val) {
resNode = curNode;
curNode = curNode.left;
}else {
curNode = curNode.right;
}
}
return resNode;
}
}Follow up
Last updated