83. Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.
Example 1:
Input: 1->1->2
Output: 1->2
Example 2:
Input: 1->1->2->3->3
Output: 1->2->3
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplicates(head *ListNode) *ListNode {
if head == nil {
return head
}
dummy := ListNode{Val: 0}
preNode := &dummy
node := head
for node != nil {
for node.Next!=nil && node.Next.Val == node.Val {
node = node.Next
}
preNode.Next = node
preNode = node
node = node.Next
}
return dummy.Next
}