题意:将三种颜色排列,相同的颜色放在一起,依据红绿蓝012的顺序放置 分析:统计红绿蓝分别有多少个,然后重新给数组赋值
class Solution {
public:
void sortColors(int A[], int n) {
int num1,num2,num3,i;
num1=num2=num3=0;
for(i=0;i<n;i++)
{
if(A[i]==0) num1++;
if(A[i]==1) num2++;
if(A[i]==2) num3++;
}
int k=0;
while(num1--) A[k++]=0;
while(num2--) A[k++]=1;
while(num3--) A[k++]=2;
}
};