题解 | #删除链表中重复的结点#
删除链表中重复的结点
https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef
public class Solution { public ListNode deleteDuplication(ListNode pHead) { // 处理空链表或者只有一个节点的情况 // if (pHead == null || pHead.next == null) { // return pHead; // } ListNode dummy = new ListNode(-1); dummy.next = pHead; ListNode prev = dummy; ListNode curr = pHead; while (curr != null && curr.next != null) { // 如果当前节点的值和下一个节点的值相等,就循环找到第一个不相等的节点 if (curr.val == curr.next.val) { int val = curr.val; while (curr != null && curr.val == val) { curr = curr.next; } // 删除重复节点 prev.next = curr; } else { // 如果当前节点的值和下一个节点的值不相等,直接更新prev和curr prev = curr; curr = curr.next; } } return dummy.next; } }#剑指offerc##java##算法##算法笔试#
剑指Offer2-Java题解 文章被收录于专栏
剑指offer题解(java版)