java头插法实现单链表逆置

原创 2016年08月28日 18:36:09

头插法和本地逆置在程序里实现起来是一样的,区别在思维方式上。引用小象学院林沐老师的课件:


修正了之前我写的Java程序:

package test;

class Node
{
	int data;
	Node nextNode;
}

public class testFour {
	public static Node reverse(Node head)
		{
			if(null == head || null == head.nextNode)
			{
				return head;
			}
			
			Node tempHead = new Node(); //新链的头节点
			while(head.nextNode != null)
			{
				Node next = head.nextNode;
				head.nextNode = tempHead.nextNode;
				tempHead.nextNode = head;
				head = next;
			}
			return tempHead.nextNode;
		}
	
	public static void main(String[] args) {
		Node node = new Node();
		node.data = 1;
		Node nextnode = new Node();
		nextnode.data = 2;
		Node node3 = new Node();
		node3.data = 3;
		Node node4 = new Node();
		node4.data = 4;
		Node node5 = new Node();
		node5.data = 5;
		node.nextNode = nextnode;
		nextnode.nextNode = node3;
		node3.nextNode = node4;
		node4.nextNode = node5;
		node5.nextNode = null;
		
		Node newHead = new Node();
		newHead = reverse(node);
		while(newHead.nextNode != null)
		{
			System.out.println(newHead.data);
			newHead = newHead.nextNode;
		}
		System.out.println(newHead.data);
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

使用java实现的超简单的单向链表 头插法

//链表节点类实现 public class NodeT> { /** * 下一个节点 */ NodeT> next; /** * 节点存储的...

头插法创建&原地逆置单链表 【Java】

一、头插法创建&原地逆置单链表public class RotateList { public static void main(String[] args) { int [] ...

java 链表 头/尾插法

尾插法示意图 import java.io.*; import java.util.*;class Node { int data; Node next; Node(int ...

Java实现链表结构的头插法与尾插法

package data_structure;import java.util.Scanner;public class List { @SuppressWarnings("hiding") ...

[数据结构]java实现的简单链表的 头/尾插法

尾插法:package structure; import java.io.*; import java.util.*;class Node { int data; Node next...

利用头插法实现单向链表的逆置

这篇文章将再次讨论单向链表的逆置问题。在原来的那篇文章中,我用了三个指针实现了这一功能,这样显得非常的麻烦复杂,代码也写的略长一些。但是最近一同学给我看她写的代码,利用创建单向链表时的头插法,只需两个...

数据结构——算法之(023)( 单链表就地逆置,头插法)

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】 题目: 单向链表的就地逆置 题目分析: 一、方法很多,这里使...

单链表就地逆置(Java版)

题目:有一个线性表(a1,a2,a3,...,an),采用带头节点的单链表L存储,设计一个算法将其就地逆置,线性表变为(an,...a3,a2,a1)。所谓“就地”指辅助存储空间为O(1)。 ...

单链表逆置-java(递归与非递归)

单链表逆置-java(递归与非递归)结点是一个自定义的类Node:private class Node { public int value; public Node nextNode...

提取特征的方法及不同场景的处理(目标跟踪)

提取特征的方法及不同场景的处理(目标跟踪)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java头插法实现单链表逆置
举报原因:
原因补充:

(最多只允许输入30个字)