剑指 Offer 24. 反转链表
2024-08-31 09:43:26
剑指 Offer 24. 反转链表
Offer 24
- 题目描述:
常规解法
- 本题的解法很常规,没有其他特别的坑,只需要将链表反转即可。
package com.walegarrett.offer;
/**
* @Author WaleGarrett
* @Date 2021/1/26 20:29
*/
/**
* 题目解析:
* 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
*/
public class Offer_24 {
public ListNode reverseList(ListNode head) {
ListNode pre = null;
ListNode current = head;
while(current != null){
ListNode temp = current.next;
current.next = pre;
pre = current;
current = temp;
}
return pre;
}
}
递归解法
- 递归解法需要注意的一个点就是递归的边界,也就是返回条件。
- 图解
/**
* 解法二:递归解法,在回溯时需要设置next指针
*/
class Offer_24_1 {
public ListNode reverseList(ListNode head) {
return dfs(head, null);
}
ListNode dfs(ListNode current, ListNode pre){
if(current == null)
return pre;//这里返回的有点难以理解,这里其实是达到原始链表尾部就返回最后的那个元素。这个元素作为新链表的头指针。
ListNode result = dfs(current.next, current);
current.next = pre;
return result;
}
}
最新文章
- C#开发微信门户及应用(29)--微信个性化菜单的实现
- 【zz】matlab 求差集
- Django 部署
- ACM/ICPC 之 昂贵的聘礼-最短路解法(POJ1062)
- python Django 学习笔记(三)—— 模版的使用
- keystone之预备知识点
- table tr分离并加圆角和阴影
- 跟我一起学extjs5(05--主界面上增加顶部和底部区域)
- JavaScript高级程序设计42.pdf
- LibCurl编程手册以及代码实例
- ajax加php实现简单的投票效果
- poj2828 Buy ticket
- WPF(C#) 矩阵拖动、矩阵动画、边缘展开动画处理。
- react native一键分享功能实现&;原理和注意点(支持微信、qq、新浪微博等)
- html头部规范书写
- Python基础知识4--数据结构(树)
- python 包和模块
- 给Win32 GUI程序增加控制台窗口的方法
- c#类 对象 构造函数 析构函数——面向对象
- 测试HANA的真实案例
热门文章
- codeforces632D. Longest Subsequence (最小公倍数)
- Codeforces Round #666 (Div. 2) B. Power Sequence (枚举)
- 2019 ICPC Asia Taipei-Hsinchu Regional Problem K Length of Bundle Rope (贪心,优先队列)
- OpenStack Train版-13.安装块存储服务cinder(控制节点)
- 3.安装可视化工具kibana
- c++大整数
- codeforces 7D
- 部署gitlab-01
- μC/OS-III---I笔记4---软件定时器
- CSS pseudo classes All In One