可以可以
官方的思路,不断将cur结点后一个结点移到链表头即pre结点后面/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */#include <bits/types/struct_tm.h>#include <cstddef>class Solution {public:    /**     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可     *     *      * @param head ListNode类      * @return ListNode类     */    ListNode* ReverseList(ListNode* head) {        // write code here        if(head==nullptr)            return nullptr;        auto* pre = new ListNode(-1);        ListNode* cur = head;        pre->next = cur;        while(cur->next != nullptr) {            ListNode* tmp = cur->next;            cur->next = tmp->next;            tmp->next = pre->next;            pre->next = tmp;        }        return pre->next;    }};
点赞 0
评论 0
全部评论

相关推荐

人生一梦:24年我投暑期实习,它以我不是女的为理由拒绝了我查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务