算法

75. 颜色分类

2021-09-08  本文已影响0人  crazyfox

https://leetcode-cn.com/problems/sort-colors/
思路:3指针
l,r,index
按照index遍历,遇到2和r交换,遇到0和l交换,遇到1index++

 public void sortColors(int[] nums) {
            int index = 0;
            int l = 0;
            int r = nums.length-1;
            while(index<=r) {
                int num = nums[index];
                if(num==2) {
              //遇到2和r交换
                    swap(nums,index,r--);
                }else if(num==1) {
            //遇到1index++
                    index++;
                }else {
//遇到0和l交换
                    swap(nums,index++,l++);
                }
            }
        }
      public void swap(int[] nums,int i,int j) {
          int tmp = nums[i];
          nums[i]=nums[j];
          nums[j]=tmp;
      }
上一篇 下一篇

猜你喜欢

热点阅读