最近准备结束自己的科研生涯,准备要开始找工作了,准备在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,是个不错的尝试。这是目前我所能想到的比较简单的方法。

最新文章

  1. Hadoop HDFS编程 API入门系列之HdfsUtil版本2(七)
  2. Codeforces Round #368 (Div. 2) D. Persistent Bookcase
  3. js遇到这样基础题,看你能不能作对呢
  4. WCF架构日记-1
  5. zimbra启用SMTP认证并绑定认证登录和发件人
  6. ural1521 War Games 2
  7. js实现单张图片(或者多张)的预览功能
  8. Python操作 Memcache、Redis、RabbitMQ
  9. 五:Java之Vector类专题
  10. ArcEngine小问题解决
  11. python学习——用dictionary实现通过地区查询邮编
  12. discuz 3.1论坛快照被百度劫持解决方案
  13. TRAFFIC ANALYSIS EXERCISE - Ransomer
  14. Spring 中的接口知识整理
  15. Jquery的ajax在IE提交数据乱码解决方法
  16. 使用PyHive操作Hive
  17. Unity3D笔记 英保通二
  18. sql server 表结构 导出 到excel
  19. oracle递归层级查询 start with connect by prior
  20. Nginx安装和使用

热门文章

  1. angular的$filter服务
  2. python学习笔记(列表、元组、购物车实例)
  3. 转载---javascript 定时器总结
  4. Fresco从配置到使用(最高效的图片加载框架)
  5. android Canvas 和 Paint用法
  6. Python Web.py与AJAX交互
  7. SE Springer小组之《Spring音乐播放器》可行性研究报告三、四
  8. VS插件开发 - 登录身份验证
  9. [转载】——故障排除:Shared Pool优化和Library Cache Latch冲突优化 (文档 ID 1523934.1)
  10. Python中获取当前日期的格式