Remove Duplicates from Sorted List II
Description
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
/**
* Definition for ListNode
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
public class Solution {
/**
* @param head: head is the head of the linked list
* @return: head of the linked list
*/
public ListNode deleteDuplicates(ListNode head) {
// write your code here
if(head == null|| head.next == null){
return head ;
}
ListNode dummy = new ListNode(0) ;
dummy.next = head ;
head = dummy ;
while(head.next != null && head.next.next != null){
if(head.next.val == head.next.next.val){
int val = head.next.val ;
//tail.next = head.next.next ;
while(head.next != null && head.next.val == val){
head.next = head.next.next ;
}
}else{
head = head.next ;
//tail.next = head;
}
}
return dummy.next ;
}
}
本文介绍了一种算法,用于从已排序的链表中移除所有重复出现的节点,只保留原始链表中独一无二的数值。通过实现一个解决方案类的方法 `deleteDuplicates`,该方法接收链表的头节点作为参数,并返回去除重复项后的链表。
714

被折叠的 条评论
为什么被折叠?



