在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 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: 给定一个数字数组,验证它是否是二进制搜索树的正确的预排序遍历序列。 您可以假定序列中的每个数字都是唯一的。 进阶: 你能只用恒定的空间复杂性来做吗? 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 false 11 } 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 }
|
请发表评论