Advertisement
HXXXXJ

75. Sort Colors

Feb 16th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.69 KB | None | 0 0
  1.     func sortColors(_ nums: inout [Int]) {
  2.         if nums.count <= 1 {return}
  3.         var n = nums.count
  4.        
  5.         var p0 = 0
  6.         while p0 < n && nums[p0] == 0{
  7.             p0 += 1
  8.         }
  9.         var p2 = n - 1
  10.         while p2 >= 0 && nums[p2] == 2{
  11.             p2 -= 1
  12.         }
  13.        
  14.         var runner = p0
  15.         while runner < n && runner <= p2{
  16.             if nums[runner] == 0{
  17.                 nums.swapAt(runner, p0)
  18.                 runner += 1
  19.                 p0 += 1
  20.             }else if nums[runner] == 2{
  21.                 nums.swapAt(runner, p2)
  22.                 p2 -= 1  
  23.             }else{
  24.                 runner += 1
  25.             }
  26.         }
  27.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement