1 class Solution { 2 public: 3 void sortColors(int A[], int n) { 4 // IMPORTANT: Please reset any member data you declared, as 5 // the same Solution instance will be reused for each test case. 6 int i =0 ,j = n-1; 7 while (i<n && A[i]==0) 8 i++; 9 while (j>=0 && A[j]==2) 10 j--; 11 int tmp; 12 for (int k=i; k<=j; k++){ 13 if (A[k]==0){ 14 A[k]= A[i]; 15 A[i] = 0; 16 while (i<n && A[i]==0) 17 i++; 18 k = i-1; 19 continue; 20 } 21 if (A[k]==2){ 22 A[k] = A[j]; 23 A[j] = 2; 24 while (j>=0 && A[j]==2) 25 j--; 26 k--; 27 continue; 28 } 29 } 30 return; 31 } 32 };