取了个巧,不具备强适用性,可以参考下:
public class SortColors {
public static void main(String[] args) {
new SortColors().sortColors(new int[]{
2,0,2,1,1,0});
}
public void sortColors(int[] nums) {
int zeroCount=0;
int oneCount=0;
int twoCount=0;
for (int num : nums) {
if (num==0){
zeroCount++;
continue;
}
if (num==1){
oneCount++;
continue;
}
twoCount++;
}
writeArray(nums,0,zeroCount-1,0);
writeArray(nums,zeroCount,zeroCount+oneCount-1,1);
writeArray(nums,zeroCount+oneCount,zeroCount+oneCount+twoCount-1,2);
}
public void writeArray(int[] nums,int start,int end,int num){
while (start<=end){
nums[start]=num;
start++;
}
}
}
AI 代码解读