【leetcode 简单】 第六十题 反转链表

2018-12-04 07:13:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* reverseList(struct ListNode* head) {
    if (NULL == head || NULL == head->next)
    {
        return head;
    }
    struct ListNode* a=head;
    struct ListNode* b=head->next;
    struct ListNode* c;
    
    head->next = NULL;
    while (b)
    {
        c = b->next;
        b->next = a;
        a = b;
        b = c;
    }
    head = a;
    return head;
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:判断是不是素数

下一篇:1的个数 南阳acm514