题解 | #删除链表中重复的结点#
删除链表中重复的结点
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);
}
}
}


