206. 反转链表
分析
-
初始化指针
- 定义一个指针
prev
,初始值为nullptr
,用于指向反转后链表的头节点 - 定义一个指针
cur
,初始指向链表的头节点head
,用于遍历链表
- 定义一个指针
-
遍历链表
- 在遍历的每一步,保存当前节点的下一节点
next
- 调整当前节点
cur
的next
指针,使其指向prev
,实现反转 - 将
prev
更新为当前节点cur
,将cur
更新为next
- 在遍历的每一步,保存当前节点的下一节点
-
终止条件
- 当
cur
遍历到链表末尾(即为nullptr
)时,链表已经完全反转,此时prev
指针指向反转后的链表头节点
- 当
时间复杂度
时间复杂度 O(n)
,其中 n 为链表的长度。每个节点访问一次
空间复杂度
空间复杂度为 O(1)
C++代码
|
|