题解 | #删除链表中重复的结点#
删除链表中重复的结点
https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef
import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } */ public class Solution { public ListNode deleteDuplication(ListNode pHead) { /* 参考一个C的大佬写递归 */ if (pHead==null || pHead.next==null) return pHead; // 当前节点不重复,递归调用处理下一个节点后返回当前节点 if (pHead.val!=pHead.next.val){ pHead.next = deleteDuplication(pHead.next); return pHead; } else{ // 当前节点重复,跳过所有重复节点 ListNode p = pHead.next; while (p!=null && p.val==pHead.val){ p = p.next; } return deleteDuplication(p); } } }