206. 反转链表
206. Reverse Linked List

题目描述
反转一个单链表。

每日一算法2019/5/19Day 16LeetCode206. Reverse Linked List

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

Java 实现
ListNode 类

class ListNode {int val;ListNode next;ListNode(int x) {val = x;}@Overridepublic String toString() {return val + "->" + next;}
}

Iterative Solution

class Solution {public ListNode reverseList(ListNode head) {ListNode prev = null;ListNode curr = head;while (curr != null) {ListNode nextTemp = curr.next;curr.next = prev;prev = curr;curr = nextTemp;}return prev;}
}

Recursive Solution

class Solution {public ListNode reverseList(ListNode head) {if (head == null || head.next == null) {return head;}ListNode p = reverseList(head.next);head.next.next = head;head.next = null;return p;}
}

测试类

public class Test {public static void main(String[] args) {ListNode head = new ListNode(1);ListNode a = new ListNode(2);ListNode b = new ListNode(3);ListNode c = new ListNode(4);ListNode d = new ListNode(5);head.next = a;a.next = b;b.next = c;c.next = d;System.out.println(head);System.out.println(new Solution().reverseList(head));}
}

运行结果
Iterative Solution

1->2->3->4->5->null
5->4->3->2->1->null

Recursive Solution

1->2->3->4->5->null
5->4->3->2->1->null

相似题目

  • 92. 反转链表 II
  • 156. 上下翻转二叉树
  • 234. 回文链表

参考资料

  • https://leetcode-cn.com/problems/reverse-linked-list/
  • https://leetcode.com/problems/reverse-linked-list/

转载于:https://www.cnblogs.com/hglibin/p/10888775.html

LeetCode 206. 反转链表(Reverse Linked List) 16相关推荐

  1. LeetCode 206. 反转链表 Reverse Linked List

    5-1 链表,在节点间穿针引线 Reverse Linked List 题目: LeetCode 206. 反转链表 反转一个单链表. 示例: 输入: 1->2->3->4-> ...

  2. LeetCode 206. 反转链表

    206. 反转链表 难度 简单 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输 ...

  3. [Swift]LeetCode206. 反转链表 | Reverse Linked List

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. 反转链表 Reverse Linked List

    2018-09-11 22:58:29 一.Reverse Linked List 问题描述: 问题求解: 解法一:Iteratively,不断执行插入操作. public ListNode reve ...

  5. leetcode - 206. 反转链表

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代 ...

  6. LeetCode 206. 反转链表 双指针法 辅助结点 递归

    题目链接 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶: ...

  7. 【Java】LeetCode 206 反转链表

    题目 :给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 解题思路 : 1.根据以上代码 ,来进行反转链表的操作: 2.最后实现的效果为: 具体思路: 1.首先判断如果链表为空的话, ...

  8. 26. Leetcode 206. 反转链表 (链表-反转链表)

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表.示例 1:输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2:输入:head = [1,2] 输出:[ ...

  9. [leetcode] 206.反转链表

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输 ...

最新文章

  1. mysql索引教程_MySQL教程96-MySQL索引类型
  2. [NC15665]maze
  3. dcba oracle,【转】dcba的文章:Oracle的SET UNUSED COLUMN操作到底做了什么?
  4. eeglab中文教程系列(16)-Time/Frequency decomposition
  5. 调用python 报R6034 错误
  6. java web课程题目_JavaWeb开发技术试题题目及答案,课程2020最新期末考试题库,章节测验答案...
  7. http --- 路由器缓存与常见的状态码
  8. 社交网络图中结点的“重要性“计算(Dijkstra + SPFA + Floyd + 模板)
  9. Java中Controller层和Service层具体怎么区分
  10. 警告: 程序集绑定日志记录被关闭。解决方法
  11. VB6(Fast Report Studio 4.6.80)
  12. Unity3d--第三人称摄像机常用控制
  13. SCCM配置PXE启动
  14. 计算机的大管家教学反思,四年级计算机 第一课 计算机的“大管家”—— Windows XP.doc...
  15. jq实现点击复制文本功能
  16. 小火狐进化_口袋妖怪xy三主进化详细介绍
  17. MATLAB plotyy总结
  18. html tbody增加行,使用jquery向表的tbody添加行
  19. 批量下载人像图片的技巧,POCO相册图片如何下载的方法
  20. 972信息检索 | 第六章 专业性书目信息检索系统

热门文章

  1. ES6 实用开发技巧
  2. 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,
  3. NGINX(一)内存结构
  4. 集中配置管理工具puppet安装使用
  5. HTML5最新漏洞:用户硬盘或被垃圾数据塞满
  6. 计算机科学 第四次,计算机科学与技术第4次上机实验(25页)-原创力文档
  7. php面向对象编程开发,php面向对象编程之对象
  8. Git安装教程(Windows安装)
  9. 结构体为什么要4字节对齐
  10. 概率和统计的matlab指令