链表反转leetcode206
2024-10-11 10:29:49
最近准备结束自己的科研生涯,准备要开始找工作了,准备在LEETCODE刷刷题...刷的前40题全部用python刷的,各种调包速度奇快,后被师哥告知这样没意义,于是准备开始回归C++,Python用的多了再用C++总是忘记敲分号和括号,甚至Compile Error了几次 = =。尴尬
链表反转比较简单,首先用自己的“本科”方法做了一下,发现效率并不高:
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *p = head;
if(p == NULL||p->next == NULL){
return p;
}
ListNode *q,*r;
q = p->next;
p->next = NULL;
while(q != NULL){
r = q->next;
q->next = p;
p = q;
q = r;
}
return p;
}
};
完全常规的方法,13ms。后来想了一下可以递归的求试试:
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(head == NULL||head->next == NULL){
return head;
}
ListNode *ans = reverseList(head->next);
head->next->next = head;
head->next = NULL;
return ans;
}
};
这个方法求解加速到了6ms,是个不错的尝试。这是目前我所能想到的比较简单的方法。
最新文章
- Hadoop HDFS编程 API入门系列之HdfsUtil版本2(七)
- Codeforces Round #368 (Div. 2) D. Persistent Bookcase
- js遇到这样基础题,看你能不能作对呢
- WCF架构日记-1
- zimbra启用SMTP认证并绑定认证登录和发件人
- ural1521 War Games 2
- js实现单张图片(或者多张)的预览功能
- Python操作 Memcache、Redis、RabbitMQ
- 五:Java之Vector类专题
- ArcEngine小问题解决
- python学习——用dictionary实现通过地区查询邮编
- discuz 3.1论坛快照被百度劫持解决方案
- TRAFFIC ANALYSIS EXERCISE - Ransomer
- Spring 中的接口知识整理
- Jquery的ajax在IE提交数据乱码解决方法
- 使用PyHive操作Hive
- Unity3D笔记 英保通二
- sql server 表结构 导出 到excel
- oracle递归层级查询 start with connect by prior
- Nginx安装和使用
热门文章
- angular的$filter服务
- python学习笔记(列表、元组、购物车实例)
- 转载---javascript 定时器总结
- Fresco从配置到使用(最高效的图片加载框架)
- android Canvas 和 Paint用法
- Python Web.py与AJAX交互
- SE Springer小组之《Spring音乐播放器》可行性研究报告三、四
- VS插件开发 - 登录身份验证
- [转载】——故障排除:Shared Pool优化和Library Cache Latch冲突优化 (文档 ID 1523934.1)
- Python中获取当前日期的格式