75. Sort Colors

One pass: quick sort!

class Solution {
    public void sortColors(int[] nums) {
        int pivot1 =0;
        int pointer =0;
        int pivot2 = nums.length-1;
        
        while(pointer<=pivit2){
            if(nums[pointer]==0){
                swap(nums, pointer, pivit1);
                pointer++;
                pivit1++;
            }else if(nums[pointer]==2){
                swap(nums, pointer, pivit2);
                pivit2--;
            }else{
                pointer++;
            }
        }
    }
    private void swap(int[] nums, int i, int j){
        int temp=nums[i];
        nums[i]=nums[j];
        nums[j]=temp;
    }
}

two pass

Last updated

Was this helpful?