题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

刚通过 分类讨论有点复杂了 一会看看大佬门的方案

class Solution {
  public:
    ListNode* ReverseList(ListNode* pHead) {

        ListNode* p;
        ListNode* q;
        ListNode* v;

        v = pHead;
        if (pHead!=nullptr)
        q=pHead->next;
        else{
            return pHead;
        }
        if(q!=nullptr)
        p=q->next;
        else{
            
            return  pHead;
        }
pHead->next=nullptr;
        while (p != nullptr) {
            // cout<<"V"<<v->val<<endl;
            // cout<<"Q"<<q->val<<endl;
            // cout<<"P"<<p->val<<endl;
            q->next = v;
            v = q;
            
            q=p;
            p=p->next;
        }
        
            q->next = v;


        return q;


    }
};
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务