<强>一。题目强>
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
<强>二。例子强>
输入链表:1→2→3→3→4→4→5
处理后为:1→2→5
<强>三。思路强>
个人感觉这题关键是注意指针的指向,可以定义一个首先对象(值为1,主要用于返回操作后的链表),放在第一位。下一指向头,定义一个去年同样指向第一个(主要用于操作记录要删除节点的前一个节点),定义一个p指向头,指向当前节点。
<强>操作流程:强>
①先判断当前p指向与p。下一个指向是否为空,为空则进入⑤,不为空进入②;
②判断当前节点p的值与与p。下一个的值是否相等,如果相等,进入③,不相等,进入④
③记录p。val的值为val,循环判断瓦尔是否与当前p指向相等,相等的话p=p.next,最后。下一个指向p;
④最后指向p, p指向p。接下来,
⑤返回。接下来,
<强>四。程序源码强>
类ListNode { int val; ListNode下=零; ListNode (int val) { 这一点。val=val; } } 公共类解决方案{ 公共ListNode deleteDuplication (ListNode pHead) { ListNode第一=new ListNode (1); 第一。下一个=pHead; ListNode去年=第一; ListNode p=pHead; 而(p !=null&, p.next !=null) { 如果(p.val==p.next.val) { int val=p.val; 而(p !=null&, p.val==val) { p=p.next; 最后一次。下一个=p; } 其他}{ 去年=p; p=p.next; } } 返回first.next; } }
<强>总结强>
以上就是本文关于Java编程删除链表中重复的节点问题解决思路及源码分享的全部内容,感兴趣的朋友可以参阅:Java编程实现从尾到头打印链表代码实例,弹簧引导jpa删除数据和事务管理的问题实例详解,MySQL删除表数据的方法以及本站其他相关专题,希望对大家有所帮助。如有不足之处,欢迎留言指出!感谢朋友们的阅读。