存在一個按升序排列的鏈表,給你這個鏈表的頭節點
head
,請你刪除全部重複的元素,使每一個元素 只出現一次 。java返回一樣按升序排列的結果鏈表。node
力扣第83題: 刪除排序鏈表中的重複元素ide
首先將鏈表複製一份,命名爲node,以避免丟失鏈表頭。鏈表若爲空,直接返回。咱們判斷鏈表值是否與第二個值相同,若是相等,就作鏈表刪除操做,即node.next = node.next.next
以下圖所示。具體實現代碼請看最下方代碼實現code
輸入:head = [1,1,2] 輸出:[1,2]
示例2:blog
輸入:head = [1,1,2,3,3] 輸出:[1,2,3]
示例3:排序
輸入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] 輸出:[8,9,9,9,0,0,0,1]
提示:it
[0, 300]
內-100 <= Node.val <= 100
public ListNode deleteDuplicates(ListNode head) { if (head == null) return head; ListNode node = head; while (node.next != null) { if (node.val == node.next.val) { node.next = node.next.next; } else { node = node.next; } } return head; }