1. 程式人生 > 實用技巧 >刪除連結串列中的所有重複出現的元素

刪除連結串列中的所有重複出現的元素

刪除給出連結串列中的重複元素(連結串列中元素從小到大有序),使連結串列中的所有元素都只出現一次

例:11123, 返回23

思路:

因為是有序的,只要後面一個節點的值和當前節點一致,

則當前節點的next 指向 next的next

private static ListNode deleteDuplicates (ListNode head) {
        ListNode cur = head;
        ListNode result = null;

        while (cur != null){
            ListNode next = cur.next;
            
int val = cur.val; boolean isEq = false; while (next != null && next.val == val){ next = next.next; cur = next; isEq = true; } if(cur == null){ break; } if(result == null
){ result = new ListNode(cur.val); }else { result.next = new ListNode(cur.val); } if(!isEq){ cur = next; } } return result; }