当前位置: 首页 > 后端技术 > Java

JZ-056-删除链表中的重复节点

时间:2023-04-01 23:57:05 Java

删除链表中的重复节点题目描述在一个排序的链表中,存在重复的节点,请删除链表中的重复节点,重复节点不保留,返回头链表的指针。比如链表1->2->3->3->4->4->5被处理成1->2->5。题目链接:删除链表中的重复节点代码/***标题:删除链表中的重复节点*标题描述*在一个有序链表中,存在重复节点,请删除链表中的重复节点,不保留重复节点,返回链表头指针。例如,链接1->2->3->3->4->4->5处理后为1->2->5*题目链接:*https://www.nowcoder.com/practice/fc533c45b73a41b0b44ccba763f866ef?tpId=13&&tqId=11209&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking*/publicclassJz56{publicListNodedeleteDuplication(ListNodepHead){if(pHead==null||pHead.next==null){返回pHead;}ListNodenext=pHead.next;如果(pHead.val==next.val){while(next!=null&&pHead.val==next.val){next=next.next;}返回deleteDuplication(下一步);}else{pHead.next=deleteDuplication(pHead.next);返回pHead;}}publicstaticvoidmain(String[]args){ListNodepHead=newListNode(1);pHead.next=newListNode(1);pHead.next.next=newListNode(1);pHead.next.next.next=新列表节点(1);pHead.next.next.next.next=newListNode(1);pHead.next.next.next.next.next=newListNode(1);pHead.next.next.next.next.next.next=newListNode(1);System.out.println("删除重复节点前的链表");ListNodecur=pHead;while(cur!=null){System.out.print(cur.val+"");cur=cur.next;}System.out.println();System.out.println("删除重复节点后的链表");Jz56jz56=newJz56();ListNode结果=jz56.deleteDuplication(pHead);当前=结果;while(cur!=null){System.out.print(cur.val+"");cur=cur.next;}}}【每日寄语】每一个充满希望的早晨,告诉自己努力去遇见更好的自己