LeetCode 73 删除有序链表中的重复元素
LeetCode 73 删除有序链表中的重复元素
问题描述:
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
执行用时:1 ms, 在所有 Java 提交中击败了74.13%的用户
内存消耗:39.5 MB, 在所有 Java 提交中击败了46.17%的用户
class Solution {
public ListNode deleteDuplicates(ListNode head) {
//边界情况
if(head==null || head.next==null) return head;
//双指针
ListNode p1 = head, p2=head.next;
while(p2!=null) {
/*双指针移动*/
if(p1.val!=p2.val) {
p1.next = p2;
p1 = p1.next;
p2 = p2.next;
}
else if(p1.val==p2.val) {
p2 = p2.next;
}
/*链表最后一段全部为重复*/
if(p2==null) {
p1.next = p2;
}
}
//返回值
return head;
}
}