链表-Reverse Linked List

Posted summerkiki

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表-Reverse Linked List相关的知识,希望对你有一定的参考价值。

技术分享

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* reverseList(struct ListNode* head) {
    if(!head||!head->next)
        return head;
    struct ListNode *cur=head;
    struct ListNode *tail=head;
    while(tail->next)
        tail=tail->next;
    while(cur!=tail)
    {
        head=cur->next;
        cur->next=tail->next;
        tail->next=cur;
        cur=head;
    }
    return head;
}

有一个问题,leetcode给出的链表测试数据应该是不包含头结点,所以写代码的时候需要注意一下。

 

以上是关于链表-Reverse Linked List的主要内容,如果未能解决你的问题,请参考以下文章

链表-Reverse Linked List II

LeetCode27.Linked List—Reverse Linked List l链表逆置

206. Reverse Linked List

Reverse Linked List(反转单向链表)

Leetcode 206 Reverse Linked List 链表

LeetCode 206 链表 Reverse Linked List