977.有序数组的平方
题目链接 977.有序数组的平方
双指针
left>0之后其实可以不用交换了,但这样代码又会更复杂一些
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int left = 0;
int right = nums.size()-1;
int index = right;
vector<int> result(nums.size(), 0);
while(left <= right){
if(nums[left]*nums[left]<=nums[right]*nums[right]){
result[index--] = nums[right]*nums[right];
--right;
}else{
result[index--] = nums[left]*nums[left];
++left;
}
}
return result;
}
};