题解 | #反转链表#

反转链表

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

  • 三指针pre、cur、rear
  • 头和尾要单独考虑:头节点指向nullptr,尾节点指向pre
class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        if(!pHead) return nullptr;
        if(!pHead->next) return pHead;
        ListNode* pre = pHead;
        ListNode* cur = pHead->next;
        ListNode* rear;
        pHead->next = nullptr;//头节点指向nullptr
        while(cur->next){
            rear = cur->next;
            cur->next = pre;
            pre = cur;
            cur = rear;
        }
        cur->next = pre;//尾节点最后再指向pre
        return cur;
    }
};
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
07-03 16:13
嘉应学院 Python
xiaolihuam...:很明显骗子,如果是hr直接约你面试了,哪用得着内推,如果是员工的话,你得多优秀,一线员工直接加你微信,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务