给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
示例 1:
输入:head = [1,2,3,3,4,4,5]
输出:[1,2,5]
示例 2:
输入:head = [1,1,1,2,3]
输出:[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) {// 下一个和下一个的下一个比, 如果相同, 记录该值// 只要下一个值和这值一样就把当前的下一个指针let node = new ListNode(-1)node.next = headlet p = node;while (p.next && p.next.next) {if (p.next.val === p.next.next.val) {let val = p.next.val;while (p.next && p.next.val === val) {p.next = p.next.next}} else {// 不重复,跳过p = p.next}}return node.next};

