leetcode-82:刪除排序連結串列中重複的元素-ii
題目描述
給定一個排序連結串列,刪除所有含有重複數字的節點,只保留原始連結串列中 沒有重複出現 的數字。
示例 1:
輸入: 1->2->3->3->4->4->5
輸出: 1->2->5
示例 2:
輸入: 1->1->1->2->3
輸出: 2->3
解題思路
- 建立一個空節點當頭節點
- 每次判斷頭節點的下一個和下下一個
- 需要儲存被刪掉的值以迴圈判斷,直到下一個不是此值
- 每次對比的是下一個和下下一個。因此刪除完不需要將當前指標移到下一個節點
程式碼實現
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplicates(head *ListNode) *ListNode {
if head == nil {
return head
}
headNode := &ListNode{Val: 0}
headNode.Next = head
head = headNode
rmVal := 0
for head.Next != nil && head.Next.Next != nil {
if head.Next.Val == head.Next.Next.Val {
rmVal = head.Next.Val
for head.Next != nil && head.Next.Val == rmVal {
head.Next = head.Next.Next
}
} else {
head = head.Next
}
}
return headNode.Next
}
相關文章
- LintCode 刪除排序連結串列中的重複數字 II排序
- 83. 刪除排序連結串列中的重複元素(JavaScript版)排序JavaScript
- 力扣-83. 刪除排序連結串列中的重複元素力扣排序
- 讓我們一起啃演算法----刪除排序連結串列中的重複元素 II演算法排序
- 從未排序的連結串列中刪除重複項排序
- 演算法刪除單連結串列中重複的元素演算法
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- 0928面試小節:刪除有序連結串列中的重複元素面試
- 讓我們一起啃演算法----刪除排序連結串列中的重複元素演算法排序
- (c語言實現)刪除有序連結串列中重複出現的元素C語言
- 刪除陣列中的元素(連結串列)陣列
- JZ76 刪除連結串列中重複的節點
- 如何刪除ArrayList中的重複元素
- 刪除有序陣列中的重複項 II陣列
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- 刪除排序陣列中的重複項排序陣列
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 牛客網高頻演算法題系列-BM15-刪除有序連結串列中重複的元素-I演算法
- ES6刪除字串中重複的元素字串
- 刪除排序陣列中的重複數字排序陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- 題目:刪除排序陣列中的重複項排序陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript陣列刪除重複元素JavaScript陣列
- Java刪除ArrayList中的重複元素的2種方法Java
- js連線多個陣列並刪除重複的元素JS陣列
- Chapter 2 | Linked Lists--移除未排序連結串列中的重複項APT排序
- [12][02][26] 刪除排序陣列中的重複項排序陣列
- 三種方法刪除列表中重複的元素及效率分析!
- 每日一題 [26] 刪除排序陣列中的重複項每日一題排序陣列
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列
- leetcode----刪除連結串列中的節點LeetCode
- (連結串列)連結串列的排序問題排序
- javascript刪除陣列重複元素程式碼JavaScript陣列
- js利用正規表示式刪除陣列中的重複元素JS陣列
- **24. 兩兩交換連結串列中的節點****19.刪除連結串列的倒數第N個節點****面試題 02.07. 連結串列相交****142.環形連結串列II**面試題