leetcode - Reverse Linked List

leetcode - Reverse Linked List

 单链表逆置。

 

/**
 * 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) {
        if(head!=NULL){
            ListNode* p = head;
            ListNode* prev = NULL;
            while(p != NULL){
                ListNode* tp = p->next;
                p->next = prev;
                prev = p;
                p = tp;
            }
            head = prev;
        }
        return head;
    }
};

 

显然,题目是一个很基础的题目。但是自己一直以来对于链表的学习不够,应该要好好加强了,争取又好又快地写出来。

注意判断空指针先。然后注意中途保存指针。

 

还有别的写法,后面补上。

 

下班~

posted @ 2015-05-08 17:52  cnblogshnj  阅读(113)  评论(0)    收藏  举报