博客写到这份上也是醉了,总是在借鉴别人的算法,很难受。。。。。。。
题目:Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
解题思路:
借鉴于:https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/discuss/28335/My-accepted-Java-code
我也很想分享自己的代码给大家,可是确实没人家的简单且快速。那我就把博文标注为转载好了。。。
代码:
class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
public ListNode deleteDuplicates(ListNode head) {
if(head == null)return null;
ListNode dummyNode = new ListNode(-1);
dummyNode.next = head;
ListNode pre = dummyNode;
ListNode cur = head;
while (cur!=null){
while (cur.next!=null && cur.val == cur.next.val){
cur = cur.next;
}
if(pre.next == cur){ //没有跟cur相同的节点
pre = pre.next;
}else {
pre.next = cur.next;
}
cur = pre.next;
}
return dummyNode.next;
}