【链表OJ—反转链表】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

1、反转链表题目:

2、方法讲解:

解法一:

解法二:

总结


前言

世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!


提示:以下是本篇文章正文内容,下面案例可供参考

1、反转链表题目:

2、方法讲解:

解法一:

解题思路:原链表的位置不变,不过把每个链表中的next指向都反转指向左边。

1、创建三个变量,n1指向NULL,n2指向第一个节点的地址,n3指向第二个节点的地址(为了保存第二个节点的地址,因为第一个节点中的next指向改变的话,第二个节点地址不提前保存就会丢失)。

2、让n2指向n1,n1移动到n2上,n2移动到n3上,n3往后移动保存下一个节点的地址,直到n2判断为空,循环结束。

代码演示:

解法二:

解题思路:创建三个指针变量(cur、newhead、和next)和一个空链表

1、cur指针变量:用来代替原链表的第一个head节点,遍历链表;next:用来保存下一个节点的地址;newhead:用来指向新创建的空链表。

2、从原链表中不断拿取第一个节点到新的链表中,不断重复头插操作。

代码演示:


总结

好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。

猜你喜欢

转载自blog.csdn.net/2301_79585944/article/details/134893444