解题思路
注意题目中的条件:已排序链表,所以可以知道,所有重复的元素都是相邻的,所以可以简单判断 cur.x 和 cur.next.x 的值的关系,由此,整个题目的思路变得极为简单,唯一需要注意的内容就是在链表为空时的问题,需要单独处理,这里并不需要再引入一个 Set 来判断是否有这个值已经出现过了。
import scala.collection.mutable.HashSet
/**
* Definition for singly-linked list.
* class ListNode(var _x: Int = 0) {
* var next: ListNode = null
* var x: Int = _x
* }
*/
object Solution {
def deleteDuplicates(head: ListNode): ListNode = {
if(head==null) head
else{
var cur = head
while(cur.next!=null){
if(cur.x==cur.next.x) cur.next = cur.next.next
else cur = cur.next
}
head
}
}
}