题目
给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次 。返回已排序的链表。
链表类
答题处
规则示例
规则
链表中节点数目在范围 [0, 300] 内
-100 <= Node.val <= 100
题目数据保证链表已经按升序 排列
示例1:
输入:head = [1,1,2]
输出:[1,2]
示例2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
解题分析:遍历一次
用一次遍历即可解决这道题,该题的关键点是需要两个节点用于记录信息,如果当前节点和下一节点的值相同,则让当前节点的下一个节点指向下一个的下一个,如果不相同,则当前节点向后移动继续比较即可。
我们以 [1,1,2,3,3] 为例
从分析图中我们可以得到一些关键信息:
nowNode.val == nextNode.val => nowNode.next = nextNode.next;
nowNode.val ≠ nextNode.val => nowNode = nextNode;
不停的让nextNode后移,nextNode = nextNode.next
解题:遍历一次
解题:遍历一次(记录一个节点即可)
END