0
点赞
收藏
分享

微信扫一扫

75. 颜色分类

先峰老师 2022-04-05 阅读 30

75. 颜色分类

力扣传送门

辣鸡动画题解

class Solution {
    public void sortColors(int[] nums) {
        int l = 0, r = nums.length - 1;
        for(int i =0 ; i <= r; i++) {
            if(nums[i] == 0) {            
                if(i > l){ //i==l就没必要交换了
                    swap(nums,i,l);
                    l++;
                    i--; //交换后的节点也需要判断,而不是跳到下一个元素
                }                
            }
            if(nums[i] == 2) {
                if(i < r) {
                    swap(nums,i,r);
                    r--;
                    i--;                    
                }
            }
        }
    }
	//两数交换
    public void swap(int[] nums,int i, int j) {
        int tmp = nums[i];
        nums[i] = nums[j];
        nums[j] = tmp;
    }
}
举报

相关推荐

0 条评论