算法思想:
快速排序
class Solution {
public:
void quickSort(vector<int> & a, int left, int right){
if(left >= right) return;
int i = left, j = right;
int base = a[left];
while(i < j){
while(a[j] >= base && i < j){
j--;
}
while(a[i] <= base && i < j){
i++;
}
if(i < j){
swap(a[i], a[j]);
}
}
a[left] = a[i];
a[i] = base;
quickSort(a, left, i-1);
quickSort(a, i+1, right);
}
void sortColors(vector<int>& nums) {
quickSort(nums, 0, nums.size()-1);
}
};