难度 简单
83. 删除排序链表中的重复元素
题目
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。
返回同样按升序排列的结果链表。
示例 1:
输入: head = [1,1,2]
输出: [1,2]
示例 2:
输入: head = [1,1,2,3,3]
输出: [1,2,3]
提示:
- 链表中节点数目在范围
[0, 300]内 -100 <= Node.val <= 100- 题目数据保证链表已经按升序排列
我的题解
简单易懂,遍历一次链表,一步到位!
var deleteDuplicates = function(head) {
// 定义指针指向头部
let p = head;
//判断p和p.next是否为空
while( p && p.next){
//如果当前值等于下一节点的值,跳过该节点
if(p.val === p.next.val){
p.next = p.next.next;
}else{
//否则p指针向后移动
p = p.next;
}
}
//返回head数组
return head;
};