题目:输入一个链表,反转链表后,输出新链表的表头。

分析:要分清他的前一个节点和后一个节点,开始的时候前节点为null,后节点为head.next,之后,反转。

    public ListNode ReverseList(ListNode head) {
if (head == null) {
return null;
}
if(head.next==null){
return head;
} ListNode preNode = null;
ListNode currentNode = head;
ListNode afterNode = head.next;
while (currentNode!=null){
currentNode.next=preNode;
preNode = currentNode;
if (afterNode.next == null) {
afterNode.next=currentNode;
break;
}
currentNode=afterNode;
afterNode = afterNode.next;
}
return afterNode;
}

剑指Offer(书):反转链表的更多相关文章

  1. 《剑指offer》 反转链表

    本题来自<剑指offer> 反转链表 题目: 输入一个链表,反转链表后,输出新链表的表头. 思路: 需要三个变量,来保存当前节点的,前面节点和反转后的节点. C++ Code: /* st ...

  2. 剑指Offer:反转链表【24】

    剑指Offer:反转链表[24] 题目描述 输入一个链表,反转链表后,输出新链表的表头. 解题分析 这道题我才发现我是属于那种真的笨,图都画出来了流程写不出来.看了别人的代码,总觉得自己差一步. 这也 ...

  3. 剑指 Offer 24. 反转链表

    剑指 Offer 24. 反转链表 Offer 24 题目描述: 常规解法 本题的解法很常规,没有其他特别的坑,只需要将链表反转即可. package com.walegarrett.offer; / ...

  4. 【剑指Offer】反转链表 解题报告(Python)

    [剑指Offer]反转链表 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描 ...

  5. 【Java】 剑指offer(24) 反转链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头 ...

  6. Go语言实现:【剑指offer】反转链表

    该题目来源于牛客网<剑指offer>专题. 输入一个链表,反转链表后,输出新链表的表头. Go语言实现: 迭代: /** * Definition for singly-linked li ...

  7. 剑指OFFER之反转链表(九度OJ1518)

    题目描述: 输入一个链表,反转链表后,输出链表的所有元素.(hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一行为一个整数n(0<= ...

  8. 剑指offer:反转链表

    问题描述 输入一个链表,反转链表后,输出新链表的表头. c++代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int ...

  9. 剑指Offer 15. 反转链表 (链表)

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 题目地址 https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca? ...

  10. 【剑指offer】反转链表

    输入一个链表,反转链表后,输出新链表的表头. *与之前的问题不同,这里需要修改链表的指向(之前的问题,不需要修改结点的指针,只需使用栈保存每个结点的值) *注意非空处理以及最后一个结点指针的修改 /* ...

随机推荐

  1. python之序列化json模块与pickle模块(待补充)

    一.json是所有语言都通用的一种序列化格式 只支持 : 列表,字典字符串,数字,且字典的key必须是字符串 ''' 1. dumps , loads 在内存中做数据转换: dumps : 数据类型 ...

  2. python tickle模块与json模块

    #! /usr/bin/env python# -*- coding:utf-8 -*-#JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式 ...

  3. MySQL慢查询日志的使用

    当系统性能达到瓶颈的时候,就需要去查找那些操作对系统的性能影响比较大,这里可以使用数据库的慢查询日志功能来记录一些比较耗时的数据可操作来确定哪些地方需要优化. 下面介绍一下使用慢查询日志的一些常用命令 ...

  4. shell 中的if语句

    if [ t != "." -a t != ".." ] 之前一直不知道 -a 是什么意思,后来才知道     -a = and  ;    -o = or

  5. [已读]你不知道的JavaScript(上卷)

    就在前幾天,我在看完第一部分的時候,說它在我心中要超過蝴蝶書了,好吧,現在要收回這句話.第二部分的內容著重在ecma5,6對象的新特性的介紹,深度上就一般啦,沒什麼收穫.總體來說,這本書詞法作用域,作 ...

  6. “玲珑杯”ACM比赛 Round #4 E -- array DP

    http://www.ifrog.cc/acm/problem/1050?contest=1006&no=4 DP[val]表示以val这个值结尾的等差数列有多少个 DP[val] += DP ...

  7. centos7安装文档

    1.当载入安装镜像时,我们会看到如下图中的画面,我们选择第一项,安装centos7 2.选择英语(个人测试环境可以使用中文安装) 3.选择network&hostname配置网络 4.在配置网 ...

  8. 集合框架比较两个对象是否相同(equals和hashCode方法)

    package com.dcz.hashset; import java.util.HashSet; import java.util.Set; /** * HashSet是接口最常用的实现类,顾名思 ...

  9. IOSAutolayout

    21:55:33前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ...

  10. 实训随笔:EL表达式JSON应用

    由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了.本人还是太笨了,弄了一上午才 ...