LeetCode83. 删除链表中的重复元素Golang版
1. 问题描述
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。


2. 思路
遍历过程中,记录当前节点的前一个节点,如果发现当前节点重复,删除当前元素
3. 代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplicates(head *ListNode) *ListNode {
if head == nil {
return nil
}
if head.Next == nil {
return head
}
pre := head
cur := head.Next
for cur != nil {
if cur.Val == pre.Val {
pre.Next = cur.Next
} else {
pre = cur
}
cur = cur.Next
}
return head
}
本文介绍了如何使用Golang解决LeetCode第83题,即删除升序链表中的重复元素。通过遍历链表,检查当前节点是否与前一个节点值相同,若相同则删除当前节点,保持链表有序且不包含重复值。
436

被折叠的 条评论
为什么被折叠?



