Single List Reversion
2024-09-05 01:04:33
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;
}
最新文章
- 小兔JS教程(四)-- 彻底攻略JS数组
- Python操作MySQL
- printf(),类型修饰符
- Java for LeetCode 229 Majority Element II
- WorldWind源码剖析系列:BMNG类构造函数深入分析
- 通通的最后一篇博客(附自制html5平面射击小游戏一枚)
- Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。
- css中常用的hack
- POJ3414Pots
- jQuery遍历DOM
- 关于SQL语句条件值写中文查不到的问题
- 百万级别QPS轻量级PHP框架Steeze介绍
- ch.ethz.ssh2.Session和com.jcraft.jsch.Session
- APP安全在线检测
- IntelliJ IDEA 性能优化
- Oracle中对number类型数据to_char()出现各位少0,或者值为###的处理
- css中width和padding-top实现正方形
- Ceph PG介绍及故障状态和修复
- mysql 查询昨天,今天、七天、30天的数据
- Android-自定义开关(升级版)
热门文章
- 1.Spring项目启动时,加载相关初始化配置
- Core 3 WPF MVVM框架 Prism系列之数据绑定
- 大容量类Redis存储--Pika介绍
- amh 操作
- mysql --single-transaction 在从库导入完数据以后要在配置文件/etc/my.cnf 中加上read_only=1的参数
- 3 基于梯度的攻击——MIM
- volatility 命令
- 如何获取字符串中某个具体的数值--通过json.load转化成字典形式获取
- 设计模式:模板方法(Template method)
- 学习python基础规则