[Swift]LeetCode255.驗證二叉搜尋樹的先序序列 $ Verify Preorder Sequence in Binary Search Tree
阿新 • • 發佈:2019-01-05
Given an array of numbers, verify whether it is the correct preorder traversal sequence of a binary search tree.
You may assume each number in the sequence is unique.
Follow up:
Could you do it using only constant space complexity?
給定一個數字陣列,驗證它是否是二進位制搜尋樹的正確的預排序遍歷序列。
您可以假定序列中的每個數字都是唯一的。
跟進:
你能只用恆定的空間複雜性來做嗎?
1 class Solution { 2 func verifyPreorder(_ preorder:[Int]) -> Bool{ 3 var preorder = preorder 4 var low:Int = Int.min 5 var i:Int = -1 6 for a in preorder 7 { 8 if a < low 9 { 10 return false11 } 12 while(i >= 0 && a > preorder[i]) 13 { 14 low = preorder[i] 15 i -= 1 16 } 17 i += 1 18 preorder[i] = a 19 } 20 return true 21 } 22 }