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
- 题目数据保证链表已经按升序 排列
分析
代码
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//判断head是否为空
if(head==null){
return head;
}
ListNode p=head; //p指向第一个结点
while(p.next !=null){
if(p.val==p.next.val){ //判断前后节点的值是否相等
p.next=p.next.next; //删除相同的元素的结点
}else{
p=p.next;//不相等就指向下一个结点
}
}
return head;
}
}