我想知道在有重复的情况下怎么写,,,,我之前写的都是删除单一节点,,,,,重复的情况不会写
把链表遍历一遍,是该数字的节点就删掉(将其前一个节点指向后一个节点,释放当前节点内存)。
这样的话,有没有重复无差呀!
我很好奇你是咋写的
或许我得自己写个代码了,,,,
链表删除:p->next = delete->next; free(delete);
相信提主能写出来的
循环遍历,找到第一个删除节点不break就能实现把
只需要你遍历一遍就行 ,有无重复都可以,每个人的思路会有所不同,但是终点都是一样的,建议楼主用自己的思路写出了,这样理解的比较深刻。
你删除一个节点,是不是遍历找到以后然后处理 前驱 后继节点的 next域, 然后返回了. 遍历到链表尾都找不到,就是不存在该节点.
你可以找到节点以后,处理前驱 后继关系,然后不返回就是了.继续顺着链表找...找一个删一个.多简单. 设置一个flag = 0, 删过节点就++, 遍历结束,如果0 ==flag 就是不存在该节点.