给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

// 83. 删除排序链表中的重复元素// 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。/*** 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}*/// 题解// 1.题目中已排序,告诉我们所以重复链表都相同// 2.删除相同,这道题比较简单var deleteDuplicates = function(head) {let p = head;// 循环,因为要与下一个值作比较,所以也要进行判断while(p && p.next) {if(p.val === p.next.val) {// 删除下一个p.next = p.next.next} else {// 这边要注意的是继续下一步时要考虑的可能后面也相同,所以我们让循环多执行一次p = p.next}}// 直接返回原链表即可return head};// 时间复杂度 o(n) 空间复杂度 o(1)
