演算法探索 刪除排序鍊錶中的重複元素 II

2021-10-09 07:30:28 字數 696 閱讀 9305

給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。

示例 1:

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

輸出: 1->2->5

示例 2:

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

輸出: 2->3

除了頭尾的特殊處理外,注意加入結果的時候要new乙個新元素,直接指向的話會有尾部粘連。

/*

*用途:刪除排序鍊錶中的重複元素 ii

*/listnode result;

listnode resulthead;

listnode last; //上乙個;

public listnode deleteduplicates(listnode head) else else }}

} else else

}} else else }}

}last = new listnode(head.val);

head = head.next;

}return resulthead;

}

leetcode提交結果:

刪除排序鍊錶中重複元素

示例 1 輸入 1 2 3 3 4 4 5 輸出 1 2 5 示例 2 輸入 1 1 1 2 3 輸出 2 3 照例使用三個指標來 struct listnode deleteduplicates struct listnode head else 沒有重複的就正常移動 示例 1 輸入 1 1 2 ...

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

一 遍歷方法 思路 通過遍歷一遍鍊錶在遍歷的過程中刪除節點,因為鍊錶是有序的,所以只需比較當前節點和當前節點的下乙個節點,這裡需要注意一下,如果有重複的使用了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...