class Solution {
public int[] sortedSquares(int[] nums) {
int len = nums.length;
int[] result = new int[len];
int left = 0;
int right = len-1;
int start = right;
if(nums[0] >= 0){
for(int i = 0 ;i < len ; i++){
result[i] = nums[i] * nums[i];
}
return result;
}
while(left < right){
if(Math.abs(nums[left]) < Math.abs(nums[right])){
result[start--] = nums[right] * nums[right];
right--;
}else {
result[start--] = nums[left] * nums[left];
left++;
}
}
result[0] = nums[left] * nums[left];
return result;
}
}
最后一定要记得将第一位设置成nums[left] * nums[left],采用双指针,一个从头开始,一个从尾部开始