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

东莞网站建设 石佳专业的河南网站建设

东莞网站建设 石佳,专业的河南网站建设,免费申请网站官网,个性化网站建设费用题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5] 示例 2: 输入:head …

题目

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回已排序的链表 。

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:[2,3]

提示:

    链表中节点数目在范围 [0, 300] 内
    -100 <= Node.val <= 100
    题目数据保证链表已经按升序排列


思路

上一题:重复节点只保留一个,向后多看一个节点。

本题:重复节点一个都不留,向后多看多个节点。

  • 当前情况不能用prev和cur来判断重复节点,此时prev引用一定指向不重复的节点,需要再引入一个next引用。(向后多走几步)
  1. 当链表中只有一个节点(next == null),不可能出现重复元素。
  2. 当cur.val != next.val时,说明cur不是重复节点,三个引用都向后移动一个单位。
  3. 当cur.val == next.val时,让next继续向后走,直到next指向与cur.val不相等的节点。此时prev到next之间全是需要删除的元素:prev.next = next; 当且仅当cur.val != next.val才能移动prev指针!此时cur指向next,next指向cur.next。

上面3种情况分别对应下面3副图:


代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode deleteDuplicates(ListNode head) {ListNode dummyHead = new ListNode(101);dummyHead.next = head;ListNode prev = dummyHead;ListNode cur = prev.next;while(cur != null) {ListNode next = cur.next;if(next == null) {//此时链表中只有一个元素,不可能出现重复元素return dummyHead.next;} else if(cur.val != next.val) {//此时cur不是重复节点,三个指针都向后移动一个单位prev = prev.next;cur = cur.next;} else {//此时cur.val == next.val,让next指针一直向后移动,直到与cur.val不相等的节点位置为止while(next != null && cur.val == next.val) {next = next.next;}//此时next指向了第一个不重复的元素,prev到next之间所有元素全部删除prev.next = next;cur = next;}}return dummyHead.next;}
}

http://www.yayakq.cn/news/80124/

相关文章:

  • 沧州建设厅网站小程序定制外包
  • 秦皇岛网络编辑网站网站图标怎么做
  • 系统官网网站模板下载安装万能浏览器有哪些
  • 自己有服务器如何建设微网站软件app开发公司电话
  • 莱芜网站建设价格注册网站会员需要填写信息
  • 网站开发技术实验教程怎样打开用sql做的网站
  • 外国广告公司网站系统建设方案怎么写
  • 上海 企业网站建设企业营销网站建设步骤
  • 网站建设任职资格和平区网站建设
  • 什么网站可以自己做房子设计图我市精神文明建设的门户网站是
  • 做影视网站违法莫谷歌seo排名优化
  • 网站建设设计开发公司网站备案 材料
  • 做视频网站用什么格式好亚马逊跨境电商下载
  • 太原建网站公司关于产品网站建设的问题
  • ASP网站开发技术期末考试网站建设可行性的分析
  • 空间放两个网站wordpress手机版app导航
  • 做外贸 访问国外网站整站排名优化教程
  • 网站关键词建设上海建设学院网站
  • 基于互联网 模式下的安全网站建设wordpress代码插件
  • 在织梦网站做静态网页西乡移动网站建设
  • 网站如何做微信推广制作公司网站源代码怎么弄
  • 知名的crm管理系统网站优化时间
  • 百度网站收录入口wordpress改写
  • 月编程做网站后端网站开发遇到的难题解决
  • 网站开发要用cms网站搭建阿里
  • 酒店手机网站首页设计品牌建设的路径有哪些
  • 网站建设 沈阳深圳网上招聘最好的网站
  • 上海建设公司网站外贸网络推广价格
  • html做网站标题的代码大同网站建设推广
  • 建设网上商城网站花店网站建设目的