Open Shawngbk opened 7 years ago
还是递归的方法,因为是BST,当p的val>= 当前root的val时,就要在root的right一侧寻找。如果p的val小于root的val,就要在左侧找到第一个值。 /**
} */ public class Solution { TreeNode res; public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { res = null; helper(root, p); return res; }
private void helper(TreeNode root, TreeNode p) { if(root != null) { if(root.val <= p.val) { helper(root.right, p); } else { res = root; helper(root.left, p); } } } }
还是递归的方法,因为是BST,当p的val>= 当前root的val时,就要在root的right一侧寻找。如果p的val小于root的val,就要在左侧找到第一个值。 /**
} */ public class Solution { TreeNode res; public TreeNode inorderSuccessor(TreeNode root, TreeNode p) { res = null; helper(root, p); return res; }
private void helper(TreeNode root, TreeNode p) { if(root != null) { if(root.val <= p.val) { helper(root.right, p); } else { res = root; helper(root.left, p); } } } }