//977. 有序数组的平方 leetcode-cn.com/problems/sq… 思路:双指针,l,r 当l<r时,遍历头尾,绝对值大的加入新数组的后面
class Solution {
public int[] sortedSquares(int[] nums) {
int l = 0;
int r = nums.length-1;
int index = nums.length-1;
int[] returnnums = new int[nums.length];
while(l<=r){
int lnum = nums[l];
if(lnum<0){
lnum = -lnum;
}
int rnum = nums[r];
if(rnum<0){
rnum = -rnum;
}
if(lnum<rnum){
returnnums[index--] = rnum*rnum;
r--;
}else{
returnnums[index--] = lnum*lnum;
l++;
}
}
return returnnums;
}
}
空间复杂度O(n),时间复杂度O(n)