刪除排序鍊錶中的重複項

2021-10-05 03:36:40 字數 487 閱讀 3010

一、題目描述

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

示例 1: 輸入: 1->1->2

輸出: 1->2

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

輸出: 1->2->3

二、我的思路

從頭遍歷整個鍊錶,借助乙個cur指標指向鍊錶的下乙個元素,如果下乙個元素與目前元素相等,就將該元素的指標指向下下個元素,再進行比較,直至最後乙個元素結束,返回頭指標。

三、**實現

struct listnode*

deleteduplicates

(struct listnode* head)

else

if(cur->val == cur1->val)

cur = cur->next;

}return head;

}

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

分析 思路比較簡單,如果元素相等則指向下乙個。但是要考慮清楚測試用例的覆蓋完備性,最開始筆者就沒考慮到兩個以上重複的元素出現,只考慮了乙個重複的導致錯誤。新增continue語句那裡解決了這個問題。definition for singly linked list.public class list...

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

一 遍歷方法 思路 通過遍歷一遍鍊錶在遍歷的過程中刪除節點,因為鍊錶是有序的,所以只需比較當前節點和當前節點的下乙個節點,這裡需要注意一下,如果有重複的使用了head.next head.next.next刪除下乙個節點了,但是於下乙個新的節點對比還是現在這個節點,所以不要head head.nex...

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

今天我們開始另一模組的演算法題,關於鍊錶的操作.let s do it 題目 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次.示例1 輸入 1 1 2 輸出 1 2 示例2 輸入 1 1 2 3 3 輸出 1 2 3 思想 public class listnode func dele...