题目描述:
反转一个单链表
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
思路分析:
1.创建一个空链表作为结果链表
2.遍历原来的链表,把每一个节点分别指向结果链表
3.最终返回结果链表
代码示例:
struct ListNode* reverseList(struct ListNode* head)
{
struct ListNode* result = NULL;
struct ListNode* pCur = head;
while (pCur != NULL)
{
struct ListNode* next=pCur->next;
pCur->next = result;
result = pCur;
pCur = next;
}
return result;
}