题解 | #删除有序链表中重复的元素-I#
删除有序链表中重复的元素-I
https://www.nowcoder.com/practice/c087914fae584da886a0091e877f2c79
using System;
using System.Collections.Generic;
/*
public class ListNode
{
public int val;
public ListNode next;
public ListNode (int x)
{
val = x;
}
}
*/
class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode deleteDuplicates (ListNode head) {
// write code here
if (head == null || head.next == null) return head;
SortedSet<int> set = new SortedSet<int>();
ListNode t = head;
while (t != null) {
if (!set.Contains(t.val))
set.Add(t.val);
t = t.next;
}
//辅助头结点
ListNode res = new ListNode(-1);
ListNode tail = res;
foreach (var item in set) {
ListNode newNode = new ListNode(item);
tail.next = newNode;
tail = newNode;
}
return res.next;
}
}
查看12道真题和解析