JAVA Solution [short & simple]
\n\tpublic ListNode deleteDuplicates(ListNode head) {\n        if(head == null || head.next == null)return head;\n    \n        if(head.val != head.next.val){\n
```\n\tpublic ListNode deleteDuplicates(ListNode head) {\n        if(head == null || head.next == null)return head;\n    \n        if(head.val != head.next.val){\n            head.next = deleteDuplicates(head.next);\n            return head;\n        }\n        \n        while(head.next != null && head.val == head.next.val){\n            head = head.next;\n        }\n        \n        return deleteDuplicates(head.next);\n\t}\n```
['Recursion', 'Java']