给定一个已排序的链表的头 head
, 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
输入:head = [1,1,2]
输出:[1,2]
输入:head = [1,1,2,3,3]
输出:[1,2,3]
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//定义一个temp来接收当前链表
ListNode tmep = head;
//如果temp为空表示链表是空,如果下一个为空标识遍历完成
while (tmep != null && tmep.next != null ) {
//如果temp的值和下一个的值是一样,表示重复
if (tmep.val == tmep.next.val) {
//将next的指针指向下下个
tmep.next=tmep.next.next;
}else {
//否则将temp改为下下个
tmep=tmep.next;
}
}
return head;
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容