删除链表重复节点
2017-10-13 10:07
337 查看
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null || head.next == null) return head; ListNode cur = head; while(cur != null){ while(cur.next != null && cur.val == cur.next.val){ cur.next = cur.next.next; } cur = cur.next; } return head; } }
2.删除重复节点 ,去除重复节点本身
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head == null || head.next ==null)
return head;
ListNode FakeHead=new ListNode(0);
FakeHead.next=head;
ListNode pre=FakeHead;
ListNode cur=head;
while(cur!=null){
while(cur.next!=null&&cur.val==cur.next.val){
cur=cur.next;
}
if(pre.next==cur){
pre=pre.next;
}else{
pre.next=cur.next;
}
cur=cur.next;
}
return FakeHead.next;
}
}
相关文章推荐
- 《剑指offer》删除链表中重复的节点
- 删除排序链表的重复节点
- 删除链表中重复的节点
- 剑指offer(59):删除链表中重复的节点
- 删除有序链表中的重复节点
- 剑指offer系列之五十八:删除链表中重复的节点
- 练习 删除链表中的重复节点、剩余节点逆序输出
- 剑指Offer--删除链表中重复的节点
- 剑指offer(LintCode):112. 删除链表中重复节点I VS 113.删除链表中重复节点II
- 8.剑指offer-删除链表中重复节点
- 删除链表中重复的节点:重新使用一个新头节点。
- 删除链表中重复的节点
- 链表问题---删除无序单链表中值重复出现的节点
- 删除链表中重复的节点
- [华为机试练习题]24.删除链表中的重复节点、剩余节点逆序输出
- 删除链表中重复的节点(Java实现)
- 删除链表中的重复节点、剩余节点逆序输出
- 删除排序链表的所有重复节点
- 57 - 删除链表中重复的节点
- 删除有序链表中的重复节点2