Problem
Given the head
of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well.
Example 1:
Input: head = [1,1,2] Output: [1,2]
Example 2:
Input: head = [1,1,2,3,3] Output: [1,2,3]
Solution- Kotlin
fun main(args:Array<String>){ var node1=ListNode(1) var node2=ListNode(1) var node3=ListNode(2) // var node4=ListNode(3) // var node5=ListNode(3) // node4.next=node5 // node3.next=node4 node2.next=node3 node1.next=node2 var result = deleteDuplicates(node1) } // * Example: var li = ListNode(5) var v = li.`val` // Definition for singly-linked list. class ListNode(var `val`: Int) { var next: ListNode? = null } fun deleteDuplicates(head: ListNode?): ListNode? { if (head?.`val`==null) return head var result=ListNode(head.`val`) var dummy:ListNode=result var headNode=head while (headNode!=null){ if(dummy.`val`!=headNode.`val` ){ dummy.next= ListNode(headNode.`val`) dummy=dummy.next!! } headNode=headNode.next } return result }