LeetCode

1. 基于头插法的迭代:

 public ListNode reverseList(ListNode head) {
if(head == null) return null;
ListNode res = new ListNode(0);
res.next = head;
ListNode cur = head;
while(cur.next != null){
ListNode tmp = cur.next;
cur.next = tmp.next;
tmp.next = res.next;
res.next = tmp;
}
return res.next;
}

2. 就地逆置的简洁迭代(elegant)

 public ListNode reverse(ListNode head){
ListNode prev = null;
while(head != null){
ListNode next = head.next;
head.next = prev;
prev = head;
head = next;
}
return prev;
}

3. 递归

 ListNode* reverseList(ListNode* head) {
if (!head || !(head -> next)) return head;
ListNode* node = reverseList(head -> next);
head -> next -> next = head;
head -> next = NULL;
return node;
}

最新文章

  1. 小兔JS教程(四)-- 彻底攻略JS数组
  2. Python操作MySQL
  3. printf(),类型修饰符
  4. Java for LeetCode 229 Majority Element II
  5. WorldWind源码剖析系列:BMNG类构造函数深入分析
  6. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)
  7. Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。
  8. css中常用的hack
  9. POJ3414Pots
  10. jQuery遍历DOM
  11. 关于SQL语句条件值写中文查不到的问题
  12. 百万级别QPS轻量级PHP框架Steeze介绍
  13. ch.ethz.ssh2.Session和com.jcraft.jsch.Session
  14. APP安全在线检测
  15. IntelliJ IDEA 性能优化
  16. Oracle中对number类型数据to_char()出现各位少0,或者值为###的处理
  17. css中width和padding-top实现正方形
  18. Ceph PG介绍及故障状态和修复
  19. mysql 查询昨天,今天、七天、30天的数据
  20. Android-自定义开关(升级版)

热门文章

  1. 1.Spring项目启动时,加载相关初始化配置
  2. Core 3 WPF MVVM框架 Prism系列之数据绑定
  3. 大容量类Redis存储--Pika介绍
  4. amh 操作
  5. mysql --single-transaction 在从库导入完数据以后要在配置文件/etc/my.cnf 中加上read_only=1的参数
  6. 3 基于梯度的攻击——MIM
  7. volatility 命令
  8. 如何获取字符串中某个具体的数值--通过json.load转化成字典形式获取
  9. 设计模式:模板方法(Template method)
  10. 学习python基础规则