java 实现单链表节点的复制
来源:互联网 发布:淘宝女装banner 编辑:程序博客网 时间:2024/06/14 12:42
题目要求:复制一个单链表,返回复制之后链表的头结点;注(不能返回复制之前的头结点)
/**
* 思想:先让指针p指向原始链表的头结点,声明一个复制链表的头结点为空,同时声明另外一个指针指向该复制链表的头结点;
* 若是首次复制节点,则复制链表的头结点的next为空,并让指针q指向该头结点;
* 否则,再次new一个节点,让指针q指向该节点,直到读取到初始链表的最后一个节点;
*/
节点类:public class Node {int val;Node next = null;public Node(int val){this.val = val;}}
public class TestNode {public static void main(String[] args) {Node n1 = new Node(1);Node n2 = new Node(2);Node n3 = new Node(3);Node n4 = new Node(4);Node n5 = new Node(5);n1.next = n2;n2.next = n3;n3.next = n4;n4.next = n5;n5.next = null;Node t = n1;while(t != null){System.out.print(t.next + " ");t = t.next;}//Node@4b6e3f87 Node@330cdec1 Node@11f46b16 Node@45a27a8f null System.out.println();/** * 思想:先让指针p指向原始链表的头结点,声明一个复制链表的头结点为空,同时声明另外一个指针指向该复制链表的头结点; * 若是首次复制节点,则复制链表的头结点的next为空,并让指针q指向该头结点; * 否则,再次new一个节点,让指针q指向该节点,直到读取到初始链表的最后一个节点; */Node p = n1;Node list = null;Node q = list;while(p != null){if(list == null){list = new Node(p.val);q = list;}else{Node n = new Node(p.val);q.next = n;q = q.next;}p = p.next;}Node test = list;while(test != null){System.out.print(test.next + " ");test = test.next;}//Node@2e1c6600 Node@4a6ca1a6 Node@21e8bf76 Node@3771ed5e null }}结果如下:
Node@4b6e3f87 Node@330cdec1 Node@11f46b16 Node@45a27a8f null
Node@2e1c6600 Node@4a6ca1a6 Node@21e8bf76 Node@3771ed5e null
阅读全文
0 0
- java 实现单链表节点的复制
- jQuery实现复制节点
- java实现文件的复制。
- 文件夹复制的Java实现
- java实现文件的复制
- java实现文件的复制
- java实现文件夹的复制
- 单链表的java语言完整实现含添加删除节点
- 带头节点的单链表及其基本操作(Java实现)
- java实现输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head
- java实现二叉排序树的删除节点
- 链表中环的入口节点(Java实现)
- java实现红黑树的插入节点
- java实现二叉排序树的插入节点
- java实现文件夹的复制和文件的复制
- 带头节点单链表的实现
- Java 实现 文件的复制(GUI)
- JAVA 实现文件的“复制”功能
- 5.flask开发(1)virtualenv
- poj 1556 The Doors (线段之间位置的判断+最短路)
- 单链表的基本操作实现
- 在js里遇到prepend添加变量问题
- hadoop生成序列化文件(SequenceFile)的程序
- java 实现单链表节点的复制
- window属性学习
- 线段树整理
- JSP学习-page指令
- memtest86内存测试工具介绍
- MySQL LIKE 子句整理
- Postman用法简介-Http接口请求模拟工具
- Linux命令 用户
- angularjs依赖注入