当前位置: 首页 > news >正文

算法知识点————双指针【删除重复元素】【反转链表】

删除重复元素

题目://给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数
思路:
快指针遍历数组
慢指针记录保留的

int removedup(vector<int>& nums){int len = nums.size();int fast =1;//快指针遍历数组int slow =1; //慢指针记录保留的if(len ==0){//参数校验return 0;}while(fast < len){if(nums[fast] != nums[fast-1]){nums[slow]=nums[fast];slow++;}fast++;}return slow;
}
反转链表

1、先用c记录b一会的位置,
2、然后b指向a节点
3、然后ab后往后移动一个,
循环此过程
在这里插入图片描述

/翻转链表(迭代版本) 
struct ListNode{int val;ListNode *next;ListNode(int x): val(x),next(NULL){}
};
ListNode* ReverseList(ListNode* head){if(!head || !head->next) return head; //只有一个结点或者节点为空auto a = head;//自动匹配类型auto b = head->next;while(b){auto c = b->next;//记录一下b一会的位置b->next = a;a = b;b = c;}head->next = NULL;return a; 
}///反转链表和上面一样效果
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* prev = nullptr;while (head) {ListNode* next = head->next;head->next = prev;prev = head;head = next;}return prev;}
};
http://www.lryc.cn/news/434616.html

相关文章:

  • 建造者模式builder
  • IEC103设备数据 转 IEC61850项目案例
  • 438.找到字符串中所有字母异位词
  • Microsoft SC-100: Microsoft 网络安全架构师
  • 代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
  • 解决Pynput不能在Ubuntu22.04上正常使用问题
  • IPV4端口数据有哪些?
  • 【爱加密_云平台-注册/登录安全分析报告】
  • Open CASCADE学习|按圆离散旋转体
  • 无人矿车使用ZMQ消息代理进行跨机互联进行消息收发
  • 医疗机构关于DIP/DRG信息化建设
  • 100个候选人,没一个能讲明白什么是自动化框架?
  • 数据结构与算法1: 链表
  • 【专题】2024年8月医药行业报告合集汇总PDF分享(附原数据表)
  • 这10种人不适合干项目经理,你在其中吗?
  • IT每日英语(三)
  • 【保姆级教程】如何创建一个vitepress项目?
  • 智能头盔语音识别声控芯片,AI离线语音识别ic方案,NRK3301
  • 【STM32】CAN总线基础入门
  • STM32F1+HAL库+FreeTOTS学习10——任务相关API函数使用
  • 华为 HCIP-Datacom H12-821 题库 (14)
  • java八股!2
  • 一分钟了解统一软件开发过程RUP的那点事
  • Goby 漏洞发布|(CVE-2024-45195)Apache OFBiz /viewdatafile 代码执行漏洞【已复现】
  • js的书写位置和css的书写位置的区别?为什么要这样写?
  • Python一些可能用的到的函数系列132 ORM-sqlalchemy连clickhouse
  • 华为 HCIP-Datacom H12-821 题库 (12)
  • pointpillar部署-TensorRT实现(三)
  • Java学习中,为什么会混淆类方法和实例方法,应该怎么办?
  • 【人工智能学习笔记】4_3 深度学习基础之循环神经网络