LeetCode C++ 206. Reverse Linked List【链表】简单
发布日期:2021-07-01 02:50:00
浏览次数:3
分类:技术文章
本文共 1060 字,大约阅读时间需要 3 分钟。
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL
Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?题意:递归或者迭代地翻转一个单链表。
思路1:迭代翻转单链表。
代码:
class Solution { public: ListNode *reverseList(ListNode *head) { if (head == nullptr || head->next == nullptr) return head; ListNode *newHead = nullptr, *cur = head; while (cur) { ListNode *next = cur->next; cur->next = newHead; newHead = cur; cur = next; } return newHead; }};
效率:
执行用时:12 ms, 在所有 C++ 提交中击败了72.16% 的用户内存消耗:8.3 MB, 在所有 C++ 提交中击败了97.67% 的用户
思路2:递归翻转单链表。
代码:
class Solution { public: ListNode *reverseList(ListNode *head) { if (head == nullptr || head->next == nullptr) return head; ListNode *newHead = reverseList(head->next); head->next->next = head; head->next = nullptr; return newHead; }};
效率:
执行用时:8 ms, 在所有 C++ 提交中击败了95.96% 的用户内存消耗:8.5 MB, 在所有 C++ 提交中击败了55.25% 的用户
转载地址:https://memcpy0.blog.csdn.net/article/details/108177690 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月24日 09时17分52秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PL/SQL学习笔记之触发器
2019-05-02
Memcache内存缓存框架
2019-05-02
Python字符编码和转码
2019-05-02
commons-dbutils【不推荐】
2019-05-02
SOCAT端口转发
2019-05-02
docker快速搭建HTTP代理
2019-05-02
前端学习 -- 颜色
2019-05-02
前端学习 -- Css -- 盒子模式
2019-05-02
什么是多线程?看我多线程七十二变,你能记住吗?
2019-05-03
Netty hello world 入门源码分析
2019-05-03
Netty 中的 handler 和 Pipeline
2019-05-03
ActiveReports 报表应用教程 (15)---报表换肤
2019-05-03
ActiveReports 报表应用教程 (14)---数据可视化
2019-05-03
Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】
2019-05-03
Spring Cloud构建微服务架构:消息驱动的微服务(入门)【Dalston版】
2019-05-03
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
2019-05-03
TestNG系列-第四章 testNG之命令行运行及参数详解
2019-05-03
TestNG系列-第五章 测试方法、测试类和测试分组(续1)
2019-05-03
TestNG 学习总结 - 忽略测试(八)
2019-05-03
TestNG 学习总结 - 分组执行测试(九)
2019-05-03