LeetCode: Reverse Linked List

原创 2016年08月30日 13:55:23

Reverse a singly linked list.

源代码1:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        
        vector<int> v;
        struct ListNode* tmp = head;
        while(tmp != NULL ) {
            v.push_back(tmp->val);
            // struct ListNode* t = tmp->next;
            tmp = tmp->next;
        }
        
        int len = v.size();
        tmp = head;
        for (int i = 0; i < len ;++i) {
            tmp->val = v[len - i - 1];
            tmp = tmp->next;
        }
        
        return head;
        
    }
};


源代码2:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* reverseList(struct ListNode* head) {
    
    struct ListNode* tmp1 = head;
    struct ListNode* tmp2;
    struct ListNode* tmp3;
    
    if (tmp1 != NULL) {
        tmp2 = tmp1->next;
    }
    else return tmp1;
    while(tmp2 != NULL) {
        
        tmp3 = tmp2->next;
        tmp2->next = tmp1;
        tmp1 = tmp2;
        tmp2 = tmp3;
    }
    head->next = NULL;
    
    return tmp1;
    
    
    
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode 206: Reverse Linked List

Reverse Linked List leetcode
  • xudli
  • xudli
  • 2015年05月14日 06:47
  • 13725

[LeetCode] Reverse Linked List(递归与非递归反转链表)

Reverse a singly linked list.解题思路对于非递归实现,思路是依次将从第二个结点到最后一个结点的后继设为头结点,然后将该节点设为头结点(需记住将原头结点的后继设为空)。 对...
  • u011331383
  • u011331383
  • 2015年05月16日 14:28
  • 5703

LeetCode 206. Reverse Linked List 题解(C++)

Reverse a singly linked list.
  • prayyojay
  • prayyojay
  • 2016年10月23日 16:18
  • 170

【LeetCode】Reverse Linked List II 解题报告

【题目】 Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Giv...
  • ljiabin
  • ljiabin
  • 2014年12月05日 15:59
  • 4233

LeetCode206:Reverse Linked List

Reverse a singly linked list. click to show more hints. Hint: A linked list can be reversed either...
  • u012501459
  • u012501459
  • 2015年07月30日 11:22
  • 1271

LeetCode(92)ReverseLinkedList2

题目如下: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Given...
  • feliciafay
  • feliciafay
  • 2014年01月28日 01:06
  • 2434

[LeetCode]92.Reverse Linked List II

【题目】 Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Giv...
  • SunnyYoona
  • SunnyYoona
  • 2014年01月28日 11:06
  • 2661

206. Reverse Linked List [easy] (Python)

题目链接https://leetcode.com/problems/reverse-linked-list/题目原文 Reverse a singly linked list. 题目翻译翻转单向链...
  • coder_orz
  • coder_orz
  • 2016年05月03日 17:12
  • 2340

LeetCode—Reverse Linked List II指定位置翻转单链表

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example: Giv...
  • xietingcandice
  • xietingcandice
  • 2015年03月24日 16:45
  • 542

Leetcode Reverse Linked List II 反转特定区间的链表

这样的题目关键是不要怕麻烦,一定要画多几个链表图,一步一步演算,这样思路就很清晰了。 通过头痛折磨的训练之后,这些题目不用调试,一次性AC。...
  • kenden23
  • kenden23
  • 2013年12月29日 08:02
  • 4872
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode: Reverse Linked List
举报原因:
原因补充:

(最多只允许输入30个字)