嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的passion。准备好和我一起冲进代码的奇幻宇宙了吗?Let's go!
我的博客:yuanManGan
题目来源力扣反转链表
题目理解:
给了一个链表,要求将它反转,并返回头结点。
思路讲解:
1.创建新链表
我们依旧可以创建新链表来实现,用cur来遍历链表,然后将每个结点头插进来就可以实现。
2.三指针
我们定义三个指针,一个指向空,一个指向头结点,另一个指向头节点的下一个结点。
然后我们将n2指向的结点的next指向n1指向的位置,然后n1 = n2,n2 = n3,n3 = n3->next,相当于整体向右移动。
重复操作
我们就发现,链表就神奇的逆序了,注意这里结束条件应该是n2等于0,然后n3这个当它已经为空的时候,就不能进行解引用操作了,要注意。
代码实现:
方法一:
注意这个循环里面的cur会变,所以必须要用一个临时变量来存储cur的下一个结点。