Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func sortColors(_ nums: inout [Int]) {
- if nums.count <= 1 {return}
- var n = nums.count
- var p0 = 0
- while p0 < n && nums[p0] == 0{
- p0 += 1
- }
- var p2 = n - 1
- while p2 >= 0 && nums[p2] == 2{
- p2 -= 1
- }
- var runner = p0
- while runner < n && runner <= p2{
- if nums[runner] == 0{
- nums.swapAt(runner, p0)
- runner += 1
- p0 += 1
- }else if nums[runner] == 2{
- nums.swapAt(runner, p2)
- p2 -= 1
- }else{
- runner += 1
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement