环形链表---Java
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环形链表---Java相关的知识,希望对你有一定的参考价值。
/** * * @author Administrator * 功能:丢手帕问题 */ package com.litao; public class Demo4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub CycLink cycLink = new CycLink(); cycLink.setLen(9); cycLink.createLink(); cycLink.show(); } } //节点 class Child{ int no; Child nextChild = null; public Child(int no) { //给一个编号 this.no = no; } } //环形链表 class CycLink{ //先定义一个指向链表第一个小孩的引用 //指向第一个小孩的引用,不能动 Child firstChild = null; Child temp = null; //表示链表的大小,共有几个小孩 int len = 0; //设置链表的大小 public void setLen(int len) { this.len = len; } //初始化环形链表 public void createLink() { for (int i = 1; i <= len; i++) { if(i == 1){ //创建第一个小孩 Child ch = new Child(i); this.firstChild = ch; this.temp = ch; } else if(i >= 2 && i != len){ //继续创建小孩 Child ch = new Child(i); temp.nextChild = ch; temp = ch; } else if(i == len) { Child ch = new Child(i); temp.nextChild = ch; temp = ch; temp.nextChild = firstChild; } } } //打印该环形链表 public void show() { //定义一个跑龙套的 Child temp = this.firstChild; do{ System.out.println(temp.no); temp = temp.nextChild; }while(temp != firstChild); } }
以上是关于环形链表---Java的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Java刷题笔记—142. 环形链表 II
Java 数据结构 & 算法宁可累死自己, 也要卷死别人 8 环形链表