leetCode题解单链表反转

1、题目描述

反转一个单链表。链表节点结构如下:

 struct ListNode {
int val;
ListNode* next;
};

2、问题分析

  特殊情况是输入的头结点是一个空的,或者只有一个头结点

3、代码实现

 ListNode* reverseList( ListNode* head )
{
if( head == NULL || head->next == NULL)
return head; ListNode* pre = NULL;
ListNode* next = NULL; while( head != NULL)
{
next = head->next; // 保存后继节点
head->next = pre; // head 指向前驱节点
pre = head; // 前驱节点更新
head = next; //当前节点更新
}
return pre; }
上一篇:Ubuntu增加Swap分区大小


下一篇:Java实现单链表翻转