当前位置:网站首页>2022-7-6 Leetcode27.移除元素——太久没有做题了,为双指针如此狼狈的一天
2022-7-6 Leetcode27.移除元素——太久没有做题了,为双指针如此狼狈的一天
2022-07-07 11:36:00 【weixin_51187533】
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int leftIdx = 0;
int rightIdx = nums.size()-1;
while (leftIdx <= rightIdx){
while (leftIdx <= rightIdx && nums[leftIdx] != val){
leftIdx++;
}
while (leftIdx <= rightIdx&& nums[rightIdx] == val){
rightIdx--;
}
if (leftIdx < rightIdx)
nums[leftIdx++] = nums[rightIdx--];
}
return leftIdx;
}
};
两个需要注意的点:
1)while (leftIdx < nums.size() && nums[leftIdx++] != val);
不能这样写,因为如果当前的!=val,也会向前移动一个
2)以及不能写leftIdx < nums.size()。
因为很可能rightIdx后面的数字还有val,但是右边的指针已经移动到前面去了。
边栏推荐
猜你喜欢
Error lnk2019: unresolved external symbol
记一次 .NET 某新能源系统 线程疯涨 分析
Introduce six open source protocols in detail (instructions for programmers)
Ways to improve the performance of raspberry pie
Esp32 construction engineering add components
如何让join跑得更快?
高端了8年,雅迪如今怎么样?
PAcP learning note 1: programming with pcap
Write it down once Net a new energy system thread surge analysis
Getting started with MySQL
随机推荐
提升树莓派性能的方法
Cinnamon taskbar speed
交付效率提升52倍,运营效率提升10倍,看《金融云原生技术实践案例汇编》(附下载)
Toraw and markraw
Use of polarscatter function in MATLAB
MongoDB的导入导出、备份恢复总结
Move base parameter analysis and experience summary
Navicat运行sql文件导入数据不全或导入失败
shell 批量文件名(不含扩展名)小写改大写
php——laravel缓存cache
RecyclerView的数据刷新
ESP32 ① 编译环境
【面试高频题】难度 2.5/5,简单结合 DFS 的 Trie 模板级运用题
信号强度(RSSI)知识整理
Cinnamon 任务栏网速
Milkdown control icon
Ogre introduction
Navicat run SQL file import data incomplete or import failed
[learning notes] segment tree selection
华为镜像地址