链表逆序,java实现
package com.cskaoyan.linkedlist;
//反转数组
public class LinkedListDemo2 {
public static Node reverse(Node head){
//若输入head是null 或者这个链表只有一个元素,不需要反转
//null -->null
//a,null-->a,null
if(head==null||head.next==null) return head ;
Node prev=null;
Node curr=head;
while(curr!=null){
Node nextNode=curr.next;
curr.next=prev;
prev=curr;
curr=nextNode;
}
return prev;
}
//使用递归使链表逆序
public static Node reverse1(Node head){
if (head == null || head.next == null) return head;
Node node=reverse1(head.next);
head.next.next=head;
head.next = null;
return node;
}
public static void main(String[] args) {
Node node = new Node(3);
node = new Node(2, node);
node = new Node(1, node);
Node head = reverse(node);
System.out.print(head.val + " ");
}
}
 package com.cskaoyan.linkedlist;
 public class Node {
     int val;
     Node next;
     public Node(int val){
         this.val=val;
     }
     public Node(int val,Node next){
         this.val=val;
         this.next=next;
     }
 }
链表逆序,java实现的更多相关文章
- 链表逆序(JAVA实现)
		
题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...
 - Reverse Linked List II  单向链表逆序(部分逆序)
		
0 问题描述 原题点击这里. 将单向链表第m个位置到第n个位置倒序连接.例如, 原链表:1->2->3->4->5, m=2, n =4 新链表:1->4->3-& ...
 - ZT 链表逆序
		
链表逆序 原帖地址http://blog.csdn.net/niuer09/article/details/5961004 分类: C/C++2010-10-23 17:23 18425人阅读 评论( ...
 - C# 单向链表 逆序(递归)
		
static void Main(string[] args) { while (true) { LinkedList L = new LinkedList(); L.Add(new Node(&qu ...
 - 链表逆序---python
		
class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__( ...
 - 【云栖社区001-数据结构】如何实现一个高效的单向链表逆序输出(Java版)
		
如题 动手之前,发现自己很擅长用C语言来写链表. 不过,既然自己做的是Java开发,那么还是用Java实现这个算法吧:毕竟,以后的若干年里都差不多要跟Java打交道了. 于是,先将Java版的链表自学 ...
 - 剑指Offer03 逆序输出链表&链表逆序
		
多写了个逆序链表 /************************************************************************* > File Name: ...
 - 基于visual Studio2013解决面试题之0504单链表逆序
		
 题目
 - C语言两个升序递增链表逆序合并为一个降序递减链表,并去除重复元素
		
#include"stdafx.h" #include<stdlib.h> #define LEN sizeof(struct student) struct stud ...
 
随机推荐
- AppBoxFuture(八): 另类的ORM实现
			
通常的ORM实现基于配置或注释,由反射或Emit生成相应的Sql语句,然后将Sql发送给数据库解析Sql字符串生成AST再交给优化器处理后执行,返回的数据再经由反射或Emit转换为相应的实体实例. ...
 - JS基础语法---函数练习part3---4个练习
			
练习1:求一个数字的阶乘 function getJieCheng(num) { var result = 1; for (var i = 1; i <= num; i++) { result ...
 - ES6箭头函数-2
			
以下来文字来自阮大神所著书籍摘记.为了加深记忆.本人就手动敲了一遍(相关代码本人也执行过,可保证运行通过.) 箭头函数注意事项: 1) 函数体内的this对象就是定义时所在的对象,而不是使用时所在的对 ...
 - javascript json的使用
			
转自:http://blog.csdn.net/lushuaiyin/article/details/7061483 对于js使用json,首先到官网拷贝json.js文件,地址http://www. ...
 - JDK10源码分析之HashMap
			
HashMap在工作中大量使用,但是具体原理和实现是如何的呢?技术细节是什么?带着很多疑问,我们来看下JDK10源码吧. 1.数据结构 采用Node<K,V>[]数组,其中,Node< ...
 - Angular 学习笔记(三)
			
调试时抓取作用域: 1.右键选取审查元素,调出 debugger(或按 F12) 2.调试器允许用变量 $0 来获取当前选取的元素 3.在 console 中执行 angular.element($0 ...
 - mysql connector c++ 1.1 安装
			
mysql connector c++ 1.1 安装 前提:boost安装完毕 注意:8.0版本的源码用此方法,编译不过.所以要编译8.0的同学请绕行. 1,下载源码 git clone https: ...
 - NGINX动态增加模块,平滑升级
			
这是一个小心活,不过,多操作几次,也就熟悉了. 参考URL: https://segmentfault.com/a/1190000006755963 一,安装nginx依赖包. yum install ...
 - 【bzoj3601】一个人的数论(莫比乌斯反演+拉格朗日插值)
			
传送门 题意: 求\[ \sum_{i=1}^{n}i^d[gcd(i,n)=1] \] 思路: 我们对上面的式子进行变换,有: \[ \begin{aligned} &\sum_{i=1}^ ...
 - Pwnable-random
			
ssh连接,输入密码查看目录下的文件 看看random.c的源码 #include <stdio.h> int main(){ unsigned int random; random = ...