Java编程删除链表中重复的节点问题解决思路及源码分享

  

<强>一。题目
  

  

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
  

  

<强>二。例子
  

  

输入链表: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删除表数据的方法以及本站其他相关专题,希望对大家有所帮助。如有不足之处,欢迎留言指出!感谢朋友们的阅读。

Java编程删除链表中重复的节点问题解决思路及源码分享