go数组去除重复_让我们一起啃算法----删除排序链表中的重复元素
生活随笔
收集整理的這篇文章主要介紹了
go数组去除重复_让我们一起啃算法----删除排序链表中的重复元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
刪除排序鏈表中的重復元素(Remove-Duplicates-From-Sorted-List)
題干:
給定一個排序鏈表,刪除所有重復的元素,使得每個元素只出現一次。示例 1:
輸入: 1->1->2
輸出: 1->2
示例 2:
輸入: 1->1->2->3->3
 輸出: 1->2->3
來源:力扣
還記得刪除排序數組的重復項是如何解決的嘛,戳這里,思路都差不多。
其實力扣有很多相似的題目,只不過承載形式不一樣而已。比如上面的刪除重復項,先前是承載在數組上,這題則承載在鏈表上。解題思路
初始化指針 current,使其指向鏈表頭。
比較 current 的 val 值 與 current.next 的 val 值。如果 current.val 與 current.next.val 相等,則將 current.next 指向 current.next.next,相當于將原本 current.next 拋棄。如果不想等,則 current 指向 current.next。重復上面的操作。
流程圖如下:
代碼實現
GO語言實現
func deleteDuplicates(head *ListNode) *ListNode {current := head// 當前節點為空 或者 當前節點的下一個節點為空 則認為循環結束for current != nil && current.Next != nil {// 相等,則跳過下一個節點if current.Val == current.Next.Val {current.Next = current.Next.Next} else {// 不想等,則移動到下一個節點current = current.Next}}// 返回return head }總結
每天進步一點點,加油!
總結
以上是生活随笔為你收集整理的go数组去除重复_让我们一起啃算法----删除排序链表中的重复元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql里guest用户_MySQL用
- 下一篇: nacos 怎么配置 里的配置ip_Na