Reverse Linked List

来源:互联网 发布:淘宝衣服批发市场 编辑:程序博客网 时间:2024/05/29 14:17

很基础的题目,但是要是好久不练习一下,真的很容易出问题。

时间是8ms,时间复杂度 O(n),空间复杂度O(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) {
        ListNode *p=head;
        ListNode *q=p;
        bool flag=true;
        while(q)
        {
           
            if(q->next!=NULL)
            {
                ListNode *t=q->next;
                 
                 q->next=t->next;
                 
                 t->next=head;
                 head=t;
            }
            else
            break;
        }
        return head;
    }
};

0 0
原创粉丝点击