删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次
例如:
给出的链表为1-》1-》2,返回1-》2.
给出的链表为1-》1-》2-》3-》3,返回1-》2-》3.
思路:遍历链表,记录上一个节点,如果当前节点跟前一个节点相同,则把这个节点从链表中摘除。
package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param head ListNode类
* @return ListNode类
*/
func deleteDuplicates( head *ListNode ) *ListNode {
// write code here
if head == nil {
return head
}
node := head
for node.Next != nil {
if node.Val == node.Next.Val {
node.Next = node.Next.Next
} else {
node = node.Next
}
}
return head
}