public class Solution {
public void sortColors(int[] nums){
int left = 0, right = nums.length-1;
if(nums.length ==1)
return ;
for(int i = 0; i<nums.length && right>=0; ){
if(nums[i]==0){
swap(nums[i], nums[left]);
i++;
left++;
}
else if (nums[i]==2){
swap(nums[i], nums[right--]);
}
else
i++;
}
}
public void swap(int a, int b){
int temp = a;
a = b;
b = temp;
}
}題目是數(shù)組有很多個(gè)0、1、2,要求排序,最后的數(shù)組應(yīng)該是前面全是零,中間全是一,最后面是二。但是寫程序時(shí)發(fā)現(xiàn)會(huì)出現(xiàn)很多問題,比如指針越界等等,以上這個(gè)程序在[1,0]時(shí),輸出不正確。但是我怎么也找不到問題所在。
添加回答
舉報(bào)
0/150
提交
取消