// 颜色分类排序-双指针
// 输入:nums = [2,0,2,1,1,0]
// 输出:[0,0,1,1,2,2]
public static void sortColors(int[] nums){
int len=nums.length;
if(len<2){
return;
}
int zero=-1;
int two=len-1;
int i=0;
while (i<=two){
// 0-zero==1
if(nums[i]==0){
zero++;
swap(nums,i,zero);
i++;
// zero-i==1
}else if(nums[i]==1){
i++;
// two-n ==2
}else{
swap(nums,i,two);
two--;
}
}
}
颜色分类-双指针
最新推荐文章于 2025-12-17 20:27:06 发布
这篇文章介绍了一种使用双指针技巧的Java代码,对整数数组进行颜色分类(0,1,2)的排序,通过两个指针分别处理0和2的元素并将1元素插在它们之间。

1207

被折叠的 条评论
为什么被折叠?



