leecode - 入门 -- 双指针秒杀数组/链表题目
目录
- 有序数组/链表去重 -- 快慢指针
- 移除元素
- 移动零
有序数组/链表去重 – 快慢指针
Leecode 26题 : 有序数组去重
快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置
class Solution {public:int removeDuplicates(vector<int>& nums) {if(nums.size()==0) return 0;// 快指针表示遍历数组到达的下标位置,慢指针表示下一个不同元素要填入的下标位置int slow=0,fast=0;while(fast<nums.size()){if(nums[slow] != nums[fast]){slow++;nums[slow] = nums[fast];}fast++;}return slow+1;}
};
力扣第 83 题 : 有序链表去重
class Solution {public:ListNode* deleteDuplicates(ListNode* head) {if(head==nullptr) return nullptr;ListNode *slow,*fast;slow=fast=head;while(fast!=nullptr){if(fast->val != slow->val){// nums[slow] = nums[fast];slow->next = fast;// slow++;slow=slow->next;}fast=fast->next;}// 断开与后面重复元素的连接slow->next = nullptr;return head;}
};
移除元素
力扣第 27 题
[0 slow)
为不等val
元素区间
class Solution {public:int removeElement(vector<int>& nums, int val) {int slow=0,fast=0;while(fast<nums.size()){if(nums[fast]!=val){ // 先赋值再前进nums[slow]=nums[fast];slow++;}fast++;}return slow;}
};
移动零
力扣第 283 题
相当于移除nums中的所有 0,然后再把后面的元素都赋值为 0
class Solution {public:void moveZeroes(vector<int>& nums) {int p=this->removeElement(nums,0);for(;p<nums.size();p++)nums[p]=0;}int removeElement(vector<int>& nums,int val){int fast=0,slow=0;while(fast < nums.size()){if(nums[fast] !=val){nums[slow]=nums[fast];slow++;}fast++;}return slow;}
};
leecode - 入门 -- 双指针秒杀数组/链表题目相关推荐
- leecode - 入门 -- 双指针总结
目录 快慢指针 1 判定链表中是否含有环 2 已知链表中含有环,返回这个环的起始位置 3 寻找链表的中点 4 寻找链表的倒数第n个元素 左右指针 1 二分查找 2 两数之和 -- 有序数组 3 反转数 ...
- 数组双指针直接秒杀七道题目
学算法认准 labuladong 后台回复打卡参与刷题挑战 读完本文,可以去力扣解决如下题目: 26. 删除有序数组中的重复项(简单) 83. 删除排序链表中的重复元素(简单) 167. 两数之和 I ...
- Java基础入门笔记-数组链表
数组链表ArrayList ArrayList是JDK自带的基础工具类. java.util.ArrayList 也是一个容器(里面存放对象) 1.添加对象add: 2.删除对象remove: 3.遍 ...
- 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)
常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...
- 算法总结——堆栈、字符串、数组类题目
先说stack的题目 stack的实现:链表,数组 题目: (1)简单的:min stack,一个数组实现三个stack (2)经典的stack问题:经典汉诺塔问题,逆波兰式计算或者产生逆波兰式,简化 ...
- 数组双指针和数组窗口
0. 内容说明 最近在自己编写一些小的算法的时候,深感自己的算法过于臃肿.碰巧Datawhale在新的一期组队学习中组织了数据结构与算法的课程学习.于是就参加了,再次感谢Datawhale~~ 首先跟 ...
- LeetCode链表题目分析
文章目录 题目 206 反转链表 160 相交链表 21 合并两个有序链表 86 分隔链表 142 环形链表 || 92 反转链表 || 138 复制带随机指针的链表 817 链表组件 数据结构 哈希 ...
- 数组(二):大厂面试不得不看的高频数组类型题目
数组篇(二) LeetCode905:按奇偶排序数组 解题思路 代码实现 LeetCode11:盛水最多的容器 解题思路 代码实现 LeetCode66:加一 解题思路 代码实现 LeetCode12 ...
- LeetCode数组高频题目整理
刷题是应届生找工作不可缺少的部分,一种公认的刷题策略是按类别刷题,可是每个类别也有许多题,在有限的时间里到底该刷哪些题呢?个人根据LeetCode官方给出的每个题目的出现频率,整理并收录了每个类别里高 ...
最新文章
- C#反序化json字符串,不用区分大小写
- int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别
- mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值...
- java多线程安全解决方案_java常用知识:多线程安全问题的解决方法-Lock锁
- SPOJ 962 Intergalactic Map (从A到B再到C的路线)
- My97DatePicker详细说明
- 【Spark】开发Spark选择Java还是Scala?
- 程序人生001--点滴感悟-随笔01
- Using BLAS and LAPACK from C/C++
- 【编程好习惯】使用sizeof减少内存操作失误
- java混淆加密_源代码部分加密混淆方案
- replace vfp_VFP字符串替换函数CHRTRAN()使用方法
- 三点组成的三角形的面积计算公式(海伦公式)
- Linux程序包管理命令之rpm
- 关于PS CC 不能直接拖图片的问题
- nodejs部署的服务用localhost+端口可以访问,换成ip+端口就无法访问
- 如何应对数千微服务组件带来的挑战?
- NDM(Neat Download Manager)删除所有下载记录
- R语言和Hadoop系统架构在大数据分析中的应用
- bzoj1933: [Shoi2007]Bookcase 书柜的尺寸
热门文章
- Struts2——(3)ValueStack(值栈)
- C++基础:指针,函数指针
- 谢希仁编著《计算机网络》1-6章汇总
- 大数据技术落地需要注意哪些问题
- android space边框,Android中的图片视图的边框?
- tensorflow入门笔记(一)
- react classname多个_React全家桶简介
- 设计一个python程序来计算显示通过如图_Python程序设计 17计算机、物联网 合班-中国大学mooc-试题题目及答案...
- AcWing 885. 求组合数 I(递推式预处理)
- Selenium滚动条window.scrollTo和window.scrollBy