[Swift]LeetCode285. 二叉搜索樹中的中序後繼節點 $ Inorder Successor in BST

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址: http://www.javashuo.com/article/p-bwdwdwhq-kx.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

Given a binary search tree and a node in it, find the in-order successor of that node in the BST.node

The successor of a node p is the node with the smallest key greater than p.val.git

 

Example 1:github

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. 

Example 2:微信

Input: root = [5,3,6,2,4,null,null,1], p = 6 Output: null Explanation: There is no in-order successor of the current node, so the answer is . null

 

Note:spa

  1. If the given node has no in-order successor in the tree, return null.
  2. It's guaranteed that the values of the tree are unique.

給定一個二進制搜索樹及其節點,在BST中查找該節點的順序繼承者。code

 節點p的後續節點是鍵最小大於p.val的節點。htm

例 1:blog

輸入: root = [2,1,3], p = 1 輸出: 2 說明:1的順序繼承節點爲2。請注意,p和返回值都是treenode類型。 

例  2:繼承

輸入: root = [5,3,6,2,4,null,null,1], p = 6 輸出: null
說明:當前節點沒有按順序的後續節點,所以答案爲空。

注:

  1. 若是給定的節點在樹中沒有順序繼承者,則返回空。
  2. 它保證了樹的值是惟一的。

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 }
相關文章
相關標籤/搜索