项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

1.题目

反转一个单链表。
示例:

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

2.解法

1.将当前节点cur的下一个节点cur.next取出来保存为tmp。
2.更改当前节点cur的下一个节点为pre,也即反转当前结点的next指针指向前。
3.将pre指针前移,更改为cur,这样下一个节点的next将指向cur。
4.将当前指针cur指向tmp。

public class ReverseLinkedList {public static ListNode reverse(ListNode head) {ListNode pre = null, cur = head;while (cur != null) {ListNode tmp = cur.next;cur.next = pre; // 当前结点指向前一个节点pre = cur; // pre指针前移cur = tmp; // 将cur指针指向tmp,即下一个}head.next = null;return pre;}public static void main(String[] args) {ListNode head = ListNode.initLinkList();ListNode newHead = reverse(head);ListNode.printListNode(newHead);}
}public class ListNode<T> {public T data;public ListNode<T> next;public ListNode(T data) {this.data = data;this.next = null;}public static void printListNode(ListNode head) {while (head != null) {System.out.print(head.data + " ");head = head.next;}}public static ListNode initLinkList() {ListNode head = new ListNode(1);ListNode current = head;for(int i=2; i<=10; i++) {ListNode tmp = new ListNode(i);current.next = tmp;current = current.next;}return head;}
}

Reverse Linked List 反转链表相关推荐

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

    206. Reverse Linked List Reverse a singly linked list. 反转一个链表. 思路: 采用头插法,将原来链表重新插一次返回即可. 代码如下: /*** ...

  2. [LeetCode] [C++] 206 Reverse Linked List 反转单项链表

    题目要求 Reverse a singly linked list. LeetCode 206在线测试 问题描述 给定一个单项链表,将其反转后返回链表头节点. 思路分析1 可以完整的遍历一遍链表,将链 ...

  3. LeetCode 206 Reverse Linked List--反转链表--迭代与递归解法--递归使用一个临时变量,迭代使用3个

    此题链接:Reverse Linked List - LeetCode Reverse a singly linked list. Example: Input: 1->2->3-> ...

  4. LeetCode 92. Reverse Linked List II--Python 解法--反转部分链表--笔试算法题

    题目地址:Reverse Linked List II - LeetCode Reverse a linked list from position m to n. Do it in one-pass ...

  5. LeetCode 206. 反转链表(Reverse Linked List) 16

    206. 反转链表 206. Reverse Linked List 题目描述 反转一个单链表. 每日一算法2019/5/19Day 16LeetCode206. Reverse Linked Lis ...

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

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

  7. 反转链表 Reverse Linked List

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

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

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

  9. C#LeetCode刷题之#206-反转链表(Reverse Linked List)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3828 访问. 反转一个单链表. 输入: 1->2-> ...

  10. 【??链表】LeetCode 92. Reverse Linked List II

    LeetCode 92. Reverse Linked List II Solution1: 参考网址:http://www.cnblogs.com/grandyang/p/4306611.html ...

最新文章

  1. jQuery中getJSON跨域原理详解
  2. oracle12c dml语句缓存,Oracle --DML、DDL、DCL
  3. solr与mysql数据同步的方案
  4. 深入RESTful无状态原则
  5. win8和win8.1动态绑定数据到ListView
  6. fifo java_java linux fifo文件通信
  7. PIC18F452之1602自定义字符
  8. draw python_科学网—Draw figures with Python - 高琳琳的博文
  9. 机器学习知识总结系列- 模型评估(1-2)
  10. python自增_Python的自增运算与Python变量的浅析
  11. leetcode - 70. 爬楼梯
  12. 不能显示隐藏文件的问题
  13. 我的第一次随笔——胡桂玲
  14. GDI和GDI+对象的相互转换(转)
  15. 语音识别算法、模型等解析
  16. 频繁gc是什么意思_什么情况下会发生full Gc?如何排查频繁发生full Gc的原因?...
  17. ajax把参数放body里,ajax请求-jquery发送ajax请求,参数怎么放到http请求的body里面...
  18. #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)
  19. python输入一个人的名字_把一个人的名字分成名字和姓
  20. 【附源码】计算机毕业设计java兴发农家乐服务管理系统设计与实现

热门文章

  1. Xcode8报错:No code signature found
  2. 实例讲解遗传算法——基于遗传算法的自动组卷系统【实践篇】
  3. 数据库性能指标 2005-04-06 19:36:14(转载)
  4. 【Eclipse使用教程】最全的Eclipse快捷键
  5. 文件比较 增量 更新 系统发布 增量更新
  6. 【Ubuntu^Java】Ubuntu下JDK环境变量的配置
  7. PetShop 4.0学习笔记:消息队列MSMQ
  8. T-SQL数据类型的细微差别(四)
  9. LSET与LREM结合删除list中特定索引的值
  10. Hot Swap failed:add method not implemented