题目内容
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例
示例 1:
输入:head = [1,1,2]
输出:[1,2]
示例 2:
输入:head = [1,1,2,3,3]
输出:[1,2,3]
提示
1、链表中节点数目在范围 [0, 300] 内
2、-100 <= Node.val <= 100
3、题目数据保证链表已经按升序排列
题解
本题考查线性扫描。首先,定义一个cur节点用于表示“新”链表的最后一个节点,然后定义一个扫描节点p。p每向后移动一个节点,判断节点值与cur的值的大小关系,如果一致,则让p继续移动,直到不一致时,让cur->next指向p,然后更新cur和p两个节点,依次循环直到结束。
代码
/** |