0
点赞
收藏
分享

微信扫一扫

被火车撞了都不能忘记的几道题(你会了吗?)

辰鑫chenxin 2022-07-12 阅读 91

一.删除有序链表中的重复元素I

1.对应牛客网链接:

2.题目描述:

 3.解题思路

下面以1->2->3->3->4为例:

由于 cur 指向的节点的值(1)不等于 next 指向的节点的值(2),两个指针右移

不相等继续后移

相等,cur 指向 next 的下一节点(相当于删除链表中的重复元素 3),next 指针右移

直到next为空

4.对应代码

递归版本:

二.删除有序链表重复元素II

1.对应牛客网链接:

2.题目描述:

 3.解题思路

下面我们以1->3->3->4->4->5为例:

初始状态:

 发现prev和cur的值不相等三个指针一起移动

 此时prev和cur的值一样我们进行删除:

删除完成之后我们发现prev和cur的值又相等了继续进行删除

直到cur走到空结束循环将头节点返回即可

注意:(如果一开始就是头删需要进行特判改变头节点) 

4.对应代码

递归版本:

三.环形单链表中插入一个元素

1.对应letecode链接:

2.题目描述:

3.解题思路:

4.对应代码:

四.单链表翻转II

1.对应牛客网链接

2.题目描述:

3.解题思路:

 4.对应代码:

递归版本:

对应代码

五.奇偶链表

1.对应letecode链接:

2.题目描述:

 3.解题思路:

4.对应代码:

 

举报

相关推荐

0 条评论