LC75 - 颜色分类
| SortColors.go |
|---|
| package Other
func sortColors(nums []int) {
for redBound, blueBound, cur := 0, len(nums)-1, 0; cur <= blueBound; {
if nums[cur] == 0 {
nums[redBound], nums[cur] = nums[cur], nums[redBound]
redBound++
cur++
} else if nums[cur] == 1 {
cur++
} else if nums[cur] == 2 {
nums[cur], nums[blueBound] = nums[blueBound], nums[cur]
blueBound--
}
}
}
|
本题核心过程与三路快排的Partition过程一致。