反转链表——java
给定一个链表,请你将链表反转过来。
举例:原链表:1→2→3→4→5→null
反转链表:5→4→3→2→1→null
代码:
package algorithm_niuke;
public class Main {
public static Node reverseList(Node head) {
if(head == null) {
return head;
}
Node pre = null;
Node next = null;
while(head!=null) {
next = head.next;
head.next = pre;
pre = head;
head = next;
}
return pre;
}
private static class Node {
int val;
Node next;
public Node(int val) {
this.val = val;
}
}
public static void main(String[] args) {
}
}
反转链表——java的更多相关文章
- 剑指Offer:面试题16——反转链表(java实现)
问题描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点.链表结点如下: public class ListNode { int val; ListNode next = n ...
- 15.反转链表 Java
题目描述 输入一个链表,反转链表后,输出新链表的表头. 思路 本题的关键就是在于对next域的赋值,同时对下一个节点进行保存,然后对把下一个节点赋给新的节点,这样依次循环完所有的节点.每次使新插入的节 ...
- 《剑指offer》面试题16 反转链表 Java版
(输入链表的头节点,反转链表) 书中方法:对于一个链表,我们只能从头往后遍历,如果要反转,我们需要更改当前节点的next域指向前一个节点,此时链表断开,为了能继续修改下一个节点的next域,我们还要维 ...
- PAT-basic-1025 反转链表 java c++
一.题目 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4, ...
- 【Java】 剑指offer(24) 反转链表
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头 ...
- 剑指Offer-15.反转链表(C++/Java)
题目: 输入一个链表,反转链表后,输出新链表的表头. 分析: 可以利用栈将链表元素依次压入栈中,再从栈中弹出元素重新建立链表,返回头节点. 也可以在原有的链表上来翻转,先保存当前节点的下一个节点,然后 ...
- 反转链表算法Java实现
之前遇到反转链表的算法,比较晦涩难解,但其实挺简单的. 目标:将一个顺序链表反转. 思路:用三个辅助节点,每次实现一个节点的指向反转,即他的后继变为他的前驱. 三个辅助节点: p q r 按顺序 ...
- 剑指Offer面试题16(Java版):反转链表
题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点. 解决与链表相关的问题总是有大量的指针操作.而指针操作的代码总是easy出错的. 非常多的面试官喜欢出链表相关的问题,就是 ...
- LeetCode 206——链表反转(JAVA)
题目: 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶:你可 ...
- 剑指Offer编程题(Java实现)——反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头. 思路一 使用头插法迭代进行反转 实现 /* public class ListNode { int val; ListNode next = n ...
随机推荐
- 一行命令找出 Linux 中所有真实用户
哈喽大家好,我是咸鱼. 接触过 Linux 的小伙伴们都知道在 Linux (或者说类 Unix)中,有三种类型的用户: 超级用户(UID 为 0):即 root 用户,拥有最高权限. 系统用户(UI ...
- 《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(下)
集成测试 集成测试能够确保应用程序的组件正常工作,包括应用程序支持的基础结构,如数据库和文件系统等 进行集成测试时,应为项目添加 Microsoft.AspNetCore.MvcTesting 包 它 ...
- [Docker] Dockerfile常用保留字
FROM 基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板.第一条必须是from MAINTAINER 镜像维护者的姓名和邮箱地址 RUN 容器构建时需要运行的命令,也就是在 do ...
- [数据结构] 串与KMP算法详解
写在前面 今天是农历大年初三,祝大家新年快乐! 尽管新旧交替只是一个瞬间,在大家互祝新年快乐的瞬间,在时钟倒计时数到零的瞬间,在烟花在黑色幕布绽放的瞬间,在心底默默许下愿望的瞬间--跨入新的一年,并不 ...
- Pandas 人口密度案例分析
from turtle import left import pandas as pd """ 需求: 1.导入文件,查看原始数据 2.将人口数据和各州简称数据进行合并 ...
- 使用BP神经网络实现函数逼近
1 一元函数逼近 1.1 待逼近函数 1.2 代码 clear,clc p=[-4:0.1:4]; %神经网络输入值 t=sin(0.5*pi*p)+sin(pi*p); %神经网络目标值 n=15; ...
- Swoole从入门到入土(4)——TCP服务器[正确重启]
在上一篇中,我们提到了一个配置项max_wait_time.这个配置项决定了在服务端在进程经束的时候,在max_wait_time时间内onWorkerStop事件会完成扫尾工作. 那什么时候work ...
- 24个javascript最佳实践
1. 使用 === 代替 == JavaScript utilizes two different kinds of equality operators: === | !== and == | != ...
- spring boot整合dubbo
本项目通过模拟卖票和买票模块来讲解spring boot如何整合dubbo. 1.搭建zookeeper 使用docker方式: docker pull registry.docker-cn.com/ ...
- Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
前言 编译ubuntu驱动之前,发现使用的gcc是7.3.0,而使用apt管理和下载的都无法直接或间接安装gcc7.3.0,于是只能从源码安装gcc7.3.0编译器. GCC 概述 GCC ...