定义一个新的数组用来存储比较后的元素,定义两个指针,从数组的首尾向数组中间移动,找到值较大的数,存储到新数组中,并且该指针下移
var sortedSquares = function(nums) {
//从两边定义指针,不断比较
let l=0
let n=nums.length-1
let i=n
let r=n
//建立新数组,用于保存处理后的数据
let arr=[]
while(l<=r){
//比较首尾的值
if(nums[l]*nums[l]>(nums[r]*nums[r])){
//把大的值存在新数组末尾
arr[i]=nums[l]*nums[l]
l++
}else{
arr[i]=nums[r]*nums[r]
r--}
//新数组的下标前移
i--
}
return arr };