链表相关习题

 

我的解题 搞一个虚拟头结点

我的递归    (进行if判断要进行return    函数压到栈区不return  栈是不会保留的数据会丢失   除了要return的变量外,变量要开辟在堆区)

 别人的双指针

 

   我用循环但是无法处理第二次翻转后指针域的指向

别人用的递归

 

 

这个只是删除了相邻的重复节点       (右边的用两次while实现删除全部

重复)

递归解决

 

 

 

141(  题目的环石从结尾开始的)

 

数学题(2 * slow == fast 推出从相遇节点 和 头结点到入口的长度是成倍数的)

 

 

 

 

 

 

 

 

 搞个虚拟头结点但是要注意NULL指针不能->所以while里用  p->next 去判断

 

 

 

 

 

 我用的是头插 而且要注意 临时指针q要先指向下一位

这是别人的双指针

 

 

 

不用开辟数组空间   ( 双指针一个走1 一个走2  那么慢的走到中间的位置)

 

 

 

只穿要删除的节点,把要删除节点的后一个的值抢过来,然后删掉。

 

 

 

 

 

 

 

 

 

 

posted @ 2021-04-03 13:20  小润_c++  阅读(84)  评论(0)    收藏  举报