删除链表中重复的结点JAVA
来源:互联网 发布:字模软件 编辑:程序博客网 时间:2024/06/09 18:18
思路:定义四个结点,前结点prenode,当前结点node,下一个结点nextnode,删除结点delnode,在遇到删除结点时候要保证prenode连接上nextnode,防止断裂情况。
public static void deleteDuplication(ListNote root){ if(root==null){ return; } ListNote preNode=null;//前结点 ListNote node=root;//当前结点 while(node!=null){ ListNote nextNode=node.getNext();//下一个结点 boolean needDelete=false;//判断当前结点和下一个结点值是否相等 if(nextNode!=null&&nextNode.getValue()==node.getValue()) needDelete=true; if(!needDelete){//不相等,向前移动 preNode=node; node=node.getNext(); } else{//相等,删除该结点 int value=node.getValue(); ListNote toBeDel=node; while(toBeDel!=null&&toBeDel.getValue()==value){ nextNode=toBeDel.getNext();//删除该结点 toBeDel=nextNode; } if(preNode==null){//头结点删除时 root=nextNode; } else{ //即删除了重复结点 preNode.setNext(nextNode); } node=nextNode; } } }
定义单向链表ListNote
public class ListNote { private ListNote NextNote; private int value; public ListNote(){ } public ListNote(int value){ this.value=value; } public ListNote getNext(){ return NextNote; } public void setNext(ListNote next){ this.NextNote=next; } public int getValue(){ return value; } public void setValue(int value){ this.value=value; }}
0 0
- 删除链表中重复的结点JAVA
- 删除链表中重复的结点java实现
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 删除链表中重复的结点
- 几个支持SCORM的免费平台
- TRIANGLE_FAN 有破面的问题
- 第十六周项目2-有些数的阶乘不算了
- Android App整体架构设计的思考
- beans (相关操作类)--- BeanCopier
- 删除链表中重复的结点JAVA
- eclipse怎样生成javadoc
- linux 开机启动tomcat程序和jar程序
- Git Windows下安装配置
- 酷狗面试感想
- 如何从零开始开发一款嵌入式产品
- Codeforces551B:ZgukistringZ
- centos6.5 安装pomelo
- 第十六周项目3-max带来的冲突