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

删除有序链表中重复的元素-II(链表)

乌!蒙!山!连!着!山!外!山! 


题目:


思路:

双指针,slow和fast,并且增加标记flag初始为1。

如果slow指向节点值等于fast指向节点值,fast向后走,flag置为0;

如果slow指向节点值不等于fast指向节点值,观察flag的值若为0,slow指向fast,fast向后走,flag置为1,然后continue;观察flag的值若不为0,将该节点拿下来,成为我们的目标节点去处理。

剩下的就是细节以及最后一个节点的问题,比较简单,判断一下就好。


代码:

struct ListNode* deleteDuplicates(struct ListNode* head)
{// write code hereif (head == NULL || head->next == NULL)return head;struct ListNode* tail = NULL;struct ListNode* newhead = NULL;struct ListNode* slow = head;struct ListNode* fast = slow->next;int flag = 1;while (fast){if (slow->val == fast->val){fast = fast->next;flag = 0;}else{if (flag == 0){slow = fast;fast = fast->next;flag = 1;continue;}if (newhead == NULL){tail = newhead = slow;}else{tail->next = slow;tail = slow;}slow = fast;fast = fast->next;}}if (flag == 1){if (tail)tail->next = slow;elsenewhead = slow;}else{if (tail)tail->next = NULL;}return newhead;
}


个人主页:Lei宝啊

愿所有美好如期而遇

http://www.lryc.cn/news/131452.html

相关文章:

  • element单独检验form表单中的一项
  • Webpack node、output.jsonpFunction 配置详解
  • 要跟静音开关说再见了!iPhone15新变革,Action按钮引领方向
  • 论文笔记 Graph Attention Networks
  • 看上去就很像的agree和degree有什么联系
  • 2023前端面试题第二弹(真实,一般人我还不给看)
  • 零基础如何学习 Web 安全,如何让普通人快速入门网络安全?
  • 安全学习DAY18_信息打点-APP资产搜集
  • react 矩形波浪
  • 【GitHub】Pycharm本地项目打包上传到Github仓库的操作步骤
  • 计算机网络基础
  • 【图像分类】基于LIME的CNN 图像分类研究(Matlab代码实现)
  • 回归预测 | MATLAB实现TSO-SVM金枪鱼群算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • Pixar、Adobe 和苹果等成立 OpenUSD 联盟推行 3D 内容开放标准
  • ansible剧本之role角色模块
  • 网络安全领域的常见攻击方式及防御手段
  • Python应用工具-Jupyter Notebook
  • 音视频 FFmpeg如何查询命令帮助文档
  • 回归预测 | MATLAB实现CSO-SVM布谷鸟优化算法优化支持向量机多输入单输出回归预测(多指标,多图)
  • 元宇宙电商—NFG系统:区块链技术助力商品确权。
  • 【云原生】Docker基本原理及镜像管理
  • Apache Doris大规模数据使用指南
  • RabbitMQ 持久化
  • STM32 定时器复习
  • 17-工程化开发 脚手架 Vue CLI
  • golang 分布式微服务DAO层构建
  • Java 项目日志实例:LogBack
  • 什么是条件get方法?
  • Python爬虫——scrapy_crawlspider读书网
  • Spring源码编译-for mac