题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
class Solution
{
public ListNode ReverseList(ListNode pHead)
{
if(pHead == null) // 确保输入不为空
return null;
ListNode temp = null; // 中间保存变量
ListNode reversedHead = null; // 输出标量
ListNode currentListNode = pHead; // 当前链表节点,初始时为首元节点
ListNode previousListNode = null; // 先前链表节点
// 对链表进行循环,当前链表节点存储数据为null停止
while (currentListNode != null)
{
temp = currentListNode.next;// 存储链表下一个节点数据
currentListNode.next = previousListNode;// 更新链表下一个数据,指向链表前一个节点数据,将null值插入该链表中
if(temp == null) // 当链表循环一遍过后,temp将变为零,此时可以得到反转后的链表
reversedHead = currentListNode;
previousListNode = currentListNode; // 更新先前链表阶段,进1
currentListNode = temp; // 更新链表当前数据,链表节点前进1
}
return reversedHead;
}
}

CVTE公司福利 731人发布