题目描述:
反转一个单链表
示例:
输入: 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;
}
博客围绕反转单链表问题展开,给出示例输入 1->2->3->4->5->NULL,输出为 5->4->3->2->1->NULL。思路是创建空链表作结果链表,遍历原链表将节点指向结果链表,最后返回结果链表,还包含代码实现部分。
328

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



