智能简历解析系统:集成RaNER实体识别功能教程
2026/1/10 14:37:35
publicListNodedeleteDuplicates(ListNodehead){// 空链表 或 单节点链表,无重复节点,直接返回if(head==null||head.next==null){returnhead;}// 虚拟头节点ListNodedummy=newListNode(0);dummy.next=head;ListNodecur=head;// 游标指针,遍历链表找重复节点ListNodepre=dummy;// 前驱指针,锚定无重复的有效节点while(cur!=null){// 找到连续重复节点的最后一个节点while(cur.next!=null&&cur.val==cur.next.val){cur=cur.next;}if(pre.next==cur){pre=pre.next;// 从 pre 到 cur,中间没有跳过节点}else{pre.next=cur.next;// 从 pre 到 cur,中间跳过了节点}cur=cur.next;// 游标指针后移,继续遍历}// 返回新链表的有效头节点returndummy.next;}说明:
pre是永远站在「已经确认无重复的最后一个节点」的位置。