LeetCode每日一题

LeetCode每日一题: 颜色分类

2020-07-23  本文已影响0人  Patarw
第一种解法,排序法,将数组升序排序一遍即可
class Solution {
public void sortColors(int[] nums) {
  Arrays.sort(nums);
}
}
第二种解法,指针法
class Solution {
public void sortColors(int[] nums) {
  int l = 0;
  int r = nums.length-1;
  int index = 0;
  int temp;
  while(index <= r){
     if(nums[l] == 0){
         index++;
         l++;
         continue;
     }
     if(nums[index] == 0 && index != l){
        temp = nums[index];
        nums[index++] = nums[l];
        nums[l++] = temp;
     }else if(nums[index] == 2){
        temp = nums[index];
        nums[index] = nums[r];
        nums[r--] = temp;
     }else{
         index++;
     }
  }
}
}
上一篇 下一篇

猜你喜欢

热点阅读