一.题目
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。


提示:
- 链表中节点的数目范围是
[0, 5000] -5000 <= Node.val <= 5000
解析:设置3个虚拟节点pre为空,p点为头结点,next为头结点的下一个节点。将p节点的下一个节点指向pre,将pre移动到p的位置,p点移动到next位置,next再往后移动一个位置,以此类推,直到p点不存在(p==nullptr)。此时,pre在链表的最后位置,return pre->next即可。
注意:1.此题示例3,还应判空。
2.next移动过程中,应加入前提if(next),因为next先为空,想访问成员变量没有空间。
实现过程如下:
代码实现:
本文详细介绍了如何反转单链表,提供了具体的步骤解析和伪代码实现。通过设置3个虚拟节点pre、p和next,逐步调整节点指针方向,最终完成链表反转。需要注意在移动next节点时判断其是否为空,防止越界。此题还需处理链表为空的情况。
356

被折叠的 条评论
为什么被折叠?



