我的解题 搞一个虚拟头结点
我的递归 (进行if判断要进行return 函数压到栈区不return 栈是不会保留的数据会丢失 除了要return的变量外,变量要开辟在堆区)
别人的双指针
我用循环但是无法处理第二次翻转后指针域的指向
别人用的递归
这个只是删除了相邻的重复节点 (右边的用两次while实现删除全部
重复)
递归解决
141( 题目的环石从结尾开始的)
数学题(2 * slow == fast 推出从相遇节点 和 头结点到入口的长度是成倍数的)
搞个虚拟头结点但是要注意NULL指针不能->所以while里用 p->next 去判断
我用的是头插 而且要注意 临时指针q要先指向下一位
这是别人的双指针
不用开辟数组空间 ( 双指针一个走1 一个走2 那么慢的走到中间的位置)
只穿要删除的节点,把要删除节点的后一个的值抢过来,然后删掉。
原文:https://www.cnblogs.com/huatouge/p/13914234.html