LeetCode-075-颜色分类
思路
用双指针分别指向头尾,0放头,2放尾,1就是剩下的,自然会在中间
代码
class Solution {
public void sortColors(int[] nums) {
int p0=0,p2=nums.length-1;
for(int i=0;i<=p2;i++){
while(i<=p2&&nums[i]==2){
swap(nums,i,p2);
p2--;
}
if(nums[i]==0){
swap(nums,i,p0);
p0++;
}
}
}
public void swap(int[] nums,int i,int j){
int t=nums[i];
nums[i]=nums[j];
nums[j]=t;
}
}