- 83. Remove Duplicates from Sorte
- leetcode:83. Remove Duplicates f
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
- 83. Remove Duplicates from Sorte
题目
给定一个有序链表 head
。删除所有重复元素,使每个元素出现一次,返回这个排序链表。
解析
前一个问题的简化版本,关键点在于,便利到相同元素时,指针不移动,不同元素是,修改当前指针的 next 指针即可。
伪代码
p = head
for cur != nil
if cur.val != p.val
p.next = cur
p=p.next
p.next = nil
代码
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func deleteDuplicates(head *ListNode) *ListNode {
if head == nil {
return head
}
p:=head
for cur:=head.Next; cur != nil; cur=cur.Next {
if cur.Val != p.Val {
p.Next = cur
p=p.Next
}
}
p.Next = nil
return head
}

网友评论