移除元素针(左右指针)
leetcode27.移除元素
leetcode27.移除元素
let s = 0
for(let l = 0
if(nums[l] !== val){
nums[s++] = nums[l]
}
}
return s
leetcode26.删除有序数组中的重复项
leetcode26.删除有序数组中的重复项
let s = 0
for(let l = 1
if(nums[l] !== nums[l - 1]){
nums[++s] = nums[l]
}
}
return s + 1
leetcode283. 移动零
leetcode283. 移动零
let s = 0
for(let f = 0
if(nums[f]!==0){
const temp = nums[s]
nums[s++] = nums[f]
nums[f] = temp
// [nums[s],nums[f]] = [nums[f],nums[s]]
// s++
}
}
return nums
leetcode844.比较含退格的字符串
leetcode844.比较含退格的字符串
let l = s.length - 1 , r = t.length - 1
while(l >= 0 || r >= 0){
let s1 = 0
// s循环
while(l >= 0){
if(s[l] === '
s1++
l--
}
else if(s1--){
l--
}else{
break
}
}
let r1 = 0
// t循环
while(r >= 0){
if(t[r] === '
r1++
r--
}
else if(r1--){
r--
}else{
break
}
}
if(s[l] !== t[r]){return false}
l--
r--
}
return true
leetcode977.有序数组的平方
leetcode977.有序数组的平方
let l = 0
let r = nums.length - 1
let p = nums.length - 1
const stack = []
while(p >= 0){
if(nums[l] * nums[l] < nums[r] * nums[r]){
stack[p] = nums[r] * nums[r]
r--
}else {
stack[p] = nums[l] * nums[l]
l++
}
p--
}
return stack