链表去重
来源:互联网 发布:河图 知乎 编辑:程序博客网 时间:2024/06/10 13:05
题目
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,
1、重复的结点不保留,返回链表头指针。
public ListNode deleteDuplicates(ListNode head) { if(head==null) return null; ListNode cur=head; while(cur!=null && cur.next!=null){ if(cur.val==cur.next.val){ cur.next=cur.next.next; } else{ cur=cur.next; } } return head; }
2、重复节点保留
例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
1、链表头可能被删除,在前面再加一个head节点,
2、如果当前元素没有重复的,则加入列表中
3、如何判断当前元素有没有重复,使用一个指针记录当前元素第一次出现的节点,然后第二个指针遍历具有相同元素的节点,便利完之后,比较第一个指针和第二个指针指向的节点,如果他们指向同一个节点,意味着该元素没有重复。
public ListNode deleteDuplicates(ListNode head) { ListNode dummy=new ListNode(0); dummy.next=head; ListNode pre=dummy; ListNode cur=head; while(cur!=null){ while(cur.next!=null && cur.next.val==cur.val){ cur=cur.next; } if(pre.next==cur){ pre=pre.next; } else{ pre.next=cur.next; } cur=cur.next; } return dummy.next; }
0 0
- 链表去重
- 链表去重
- 链表去重
- 链表去重
- 链表去重
- 2.1-链表去重
- 排序链表去重
- 链表去重2
- PAT链表去重
- L2-2. 链表去重
- PAT L2-2 链表去重
- L2-002. 链表去重
- L2-002. 链表去重
- PAT L2-002 链表去重
- PATL2-002. 链表去重(模拟)
- L2-002. 链表去重
- L2-002. 链表去重
- L2-002. 链表去重
- UIImageView 渲染模式改变Image的渲染颜色
- Kingbase连接情况查询
- shell脚本编写规范
- Type Syntax error, insert ")" to complete Expression
- 属于自己的刷新控件
- 链表去重
- Machine Learning第六讲[应用机器学习的建议] --(一)评估学习算法
- 利用kmeans聚类进行颜色量化压缩图像
- 如何让 Xcode 在读写上提速100倍?
- Running Spark on YARN
- IEEE 802.15.4协议 部分解析
- React-Native 通知的使用方法
- 软件包管理
- sqlite中,多重“...>”的退出