【LeetCode-简单题】977. 有序数组的平方

文章目录

    • 题目
    • 方法一:双指针
    • 方法二:

题目

【LeetCode-简单题】977. 有序数组的平方_第1张图片

方法一:双指针

class Solution {
// 方法一 :双指针
    public int[] sortedSquares(int[] nums) {
      int left = 0;
      int right = nums.length -1 ;
      int[] res = new int[nums.length];//结果集新数组  长度为老数组长度
      for(int i = nums.length-1 ; i>=0 ;i--){
          int l = nums[left]*nums[left];
          int r = nums[right]*nums[right];
          if( l > r ){//若左边的值 大于 右边的值 ,让左边的值坐在最后面,然后移动左指针往后
              res[i] = l;
              left++;
          }else {//若左边的值 <= 右边的值 ,让右边的值坐在当前最后面,然后移动右指针往前
               res[i] = r;
             right--;
          }
      }
      return res;
    }
   
}

方法二:

你可能感兴趣的:(力扣,#,简单题,leetcode,算法,java)