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

2022-06-10 10:30:11 字數 832 閱讀 7785

目錄你的鼓勵也是我創作的動力

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

示例 1:

輸入: 1->1->2

輸出: 1->2

示例 2:

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

輸出: 1->2->3

此題跟leetcode-26-刪除排序陣列中的重複項解法很類似,只不過這次是鍊錶;回顧一下上乙個題的解法

快慢指標的妙用,利用兩個指標i, j,初始化值為0和1,當兩個指標對應的值相等時,指標j+1,繼續執行迴圈;而當兩個指標對應的值不相等時,將指標i+1,並將指標j對用的值賦值給指標i,然後指標j+1,繼續向下執行迴圈,直到迴圈結束。

細節需要注意:最後慢指標是最後乙個資料的索引,題目要求是返回陣列的長度,所以需要 +1返回;

listnode left = head;       // 慢指標

listnode right = head.next; // 快指標

同樣的,判斷兩個值是否相等,即可,**很簡單

public listnode deleteduplicates(listnode head) 

listnode left = head;

listnode right = head.next;

while (right != null) else

right = right.next;

}return head;

}

打賞位址

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指標,以便它跳過下乙個...