LeetCode题目
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
示例 :
输入: 1->2->3->3->4->4->5
输出: 1->2->5
算法思想
1.创建一个虚拟结点,将所有不重复的节点连接在后面
2.定义cur遍历单链表,判断当前结点与下一结点数字是否相同
3.返回新的单链表
代码
class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==
null||head.next==null){ return head; } ListNode node=new ListNode(-1); ListNode
tmp=node; ListNode cur=head; while(cur!=null){ if(cur.next!=null&&cur.val==cur.
next.val){ while(cur.next!=null&&cur.val==cur.next.val){ cur=cur.next; } cur=cur
.next; }else{ tmp.next=cur; cur=cur.next; tmp=tmp.next; } } tmp.next=null;
return node.next; } }

技术
©2019-2020 Toolsou All rights reserved,
新手玩海思HI3520D开发板(一,升级)vue使用vue-clipboard2实现复制链接的功能份额已超宁德时代!LG化学确认将分拆电池业务部门TypeScript-多态篇C#/.NET 系统优化专题(redis第六篇 数据结构【List】)(精华)2020年7月13日 微信小程序 页面间通信Python 读取Excel某一列|转存jsonshiro-oauth 启用第三方认证登录mybatis-config.xml设置默认值配置vue 监听 Treeselect 选择项的改变