多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 83. 删除排序链表中的重复元素 * 题目难度:简单 * 源码地址:https://gitee.com/mgang/leet-code/blob/master/java/src/main/java/com/mango/leet/code/easy/LC83_RemoveDuplicatesSortedList.java ~~~ package com.mango.leet.code.easy; /** * 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 * 题目数据保证链表已经按升序 排列 * * 来源:力扣(LeetCode) * 链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list * 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 */ /** * @Author: mango * @Date: 2022/4/1 10:40 下午 */ public class LC83_RemoveDuplicatesSortedList { /* 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) { if(head == null){ return head; } ListNode p1 = head; ListNode p2 = head.next; while(true){ while(p2!=null && p1.val == p2.val){ p2 = p2.next; } p1.next = p2; p1 = p1.next; // 到结尾了,则退出 if(p2 == null){ break; } p2 = p2.next; } return head; } } } ~~~