Easy C# solution
Complexity\n- Time complexity: O(n)\n- Space complexity: O(n)\n\n# Code\n\npublic ListNode DeleteDuplicates(ListNode head) {\n        var dummyHead = new ListNo
# Complexity\n- Time complexity: $$O(n)$$\n- Space complexity: $$O(n)$$\n\n# Code\n```\npublic ListNode DeleteDuplicates(ListNode head) {\n        var dummyHead = new ListNode(0, head);\n        var prev = dummyHead;\n        \n        while (prev != null)\n        {\n            // Found value that has duplicates\n            if (prev.next != null && prev.next.next != null && prev.next.val == prev.next.next.val)\n            {\n                var duplicateValue = prev.next.val;\n                while (prev.next != null && prev.next.val == duplicateValue) prev.next = prev.next.next;\n            }\n            else prev = prev.next;\n        }\n\n        return dummyHead.next;\n    }\n```
['Linked List', 'Two Pointers', 'C#']