Easy-题目12:206. Reverse Linked List

题目原文:
Reverse a singly linked list.
题目大意:
翻转单链表。
题目分析:
使用递归函数,先把头结点后面的链表翻转过来,再把头结点安到末尾即可。
源码:(language:c)

struct ListNode* reverseList(struct ListNode* head) {
    if(!head || !head->next)
        return head;
    else {
        struct ListNode *temp=head->next;
        struct ListNode *newHead=reverseList(head->next);
        temp->next=head;
        head->next=NULL;
        return newHead;
    }
}

成绩:
0ms,beats 17.11%.众数0ms,82.89%
Cmershen的碎碎念:
使用temp指针指向原链表的第二个节点,这样翻转后就到了最后一个节点,把原来的head安到temp后面即可。

你可能感兴趣的:(Easy-题目12:206. Reverse Linked List)