题解 | #反转链表#

反转链表

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

三指针反转链表
还可以使用栈来解此题

#include "../Utils/ListNode.h"
using namespace std;
class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if (head == nullptr) return nullptr;
        ListNode *left = nullptr, *middle = head, *right = head->next;
        while (right != nullptr) {
            middle->next = left;
            left = middle;
            middle = right;
            right = right->next;
        }
        middle->next = left;
        return middle;
    }
};
int main() {
    ListNode *head = new ListNode(0);
    ListNode *n1 = new ListNode(1);
    ListNode *n2 = new ListNode(2);
    ListNode *n3 = new ListNode(3);
    ListNode *n4 = new ListNode(4);
//    head->next = n1;
//    n1->next = n2;
//    n2->next = n3;
//    n3->next = n4;
    Solution s;
    s.reverseList(head);
    return 0;
}
全部评论

相关推荐

2025-12-21 21:22
安徽农业大学 运营
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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