leetcode-单链表翻转

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

 

posted on 2015-05-14 22:01  neyer  阅读(139)  评论(0编辑  收藏  举报

导航