LeetCode 83 刪除排序鍊錶中的重複元素

2022-08-11 20:42:14 字數 529 閱讀 1544

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。

示例 1:

輸入: 1->1->2

輸出: 1->2

示例 2:

輸入: 1->1->2->3->3

輸出: 1->2->3

這也是乙個鍊錶的刪除問題,所以要找到待刪節點的前乙個節點。由於鍊錶是已排序的,那麼頭節點一定是最小的節點,它不用被刪除,並且重複的元素一定是在一起的。所以首先定義乙個指標,指向頭節點。然後當出現重複元素的時候,只保留第乙個元素,刪掉其餘的相同元素。如果下乙個節點不是重複的,那麼就將指標向前移動一位。

c++**如下:

1

class

solution

9else

12}13

14return

head;15}

16 };

在這裡需要注意的是,第5行的while裡面必須是cur,而不能是cur -> next,因為當輸入為[ ]的時候,後者會報錯,因為頭節點就為空,不存在下乙個節點指向。

LeetCode 83 刪除排序鍊錶中的重複元素

給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。definition for singly linked list.struct listnode struct listnode deleteducurrent nodelicates struct listnode head 示例 1...

LeetCode 83 刪除排序鍊錶中的重複元素

題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 輸入 1 1 2 輸出 1 2輸入 1 1 2 3 3 輸出 1 2 3解題思路 直接判斷下個節點的val是否與當前節點相同,相同則刪除,不同則將向後移。ac definition for singly linked li...

leetcode83 刪除排序鍊錶中的重複元素

描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2輸出 1 2示例 2 輸入 1 1 2 3 3輸出 1 2 3解答 1.直接求解 通過將結點的值與它之後的結點進行比較來確定它是否為重複結點。如果它是重複的,我們更改當前結點的next指標,以便它跳過下乙個...