刪除連結串列中的所有重複出現的元素
阿新 • • 發佈:2020-12-27
刪除給出連結串列中的重複元素(連結串列中元素從小到大有序),使連結串列中的所有元素都只出現一次
例:1→1→1→2→3, 返回2→3
思路:
因為是有序的,只要後面一個節點的值和當前節點一致,
則當前節點的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; }