给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val = (val===undefined ? 0 : val)* this.next = (next===undefined ? null : next)* }*//*** @param {ListNode} head* @return {ListNode}*/var deleteDuplicates = function (head) {// 1.题目中已排序,告诉我们所以重复链表都相同// 2.删除相同,这道题比较简单let p = head;// 循环,因为要与下一个值作比较,所以也要进行判断while (p && p.next) {if (p.val === p.next.val) {// 删除下一个p.next = p.next.next} else {// 这边要注意的是继续下一步时要考虑的可能后面也相同,所以我们让循环多执行一次p = p.next}}// 直接返回原链表即可return head};

