/****/

packagecom.cherish.SwordRefersToOffer;/***@authoracer

**/

public classtest_22链表中倒数第k个节点 {/****/

publictest_22链表中倒数第k个节点() {//TODO 自动生成的构造函数存根

}public static classListNode{private intval;

ListNode next= null;

ListNode(intval){this.val =val;

next= null;

}

}/***@paramargs*/

public static voidmain(String[] args) {//TODO 自动生成的方法存根

ListNode head = new ListNode(1);//给一个链表赋值

for(int i = 2;i<10;i++) {

insertNodeFromTail(head,newListNode(i));

}

printListNode(head);

System.out.println(FindKthToTail(head,4).val);

System.out.println(listNodeLength(head));

System.out.println(deleteFromIndex(head,4));

printListNode(head);

System.out.println(listNodeLength(head));

System.out.println(FindKthToTail(head,4).val);

}//找到倒数第k个节点

public static ListNode FindKthToTail(ListNode head,intk) {if(head == null||k <= 0) {return null;

}

ListNode p1=head;

ListNode p2=head;for(int i = 1;i

p1=p1.next;

}else{return null;

}

}while(p1.next != null) {

p1=p1.next;

p2=p2.next;

}returnp2;

}//从头部插入新节点

public static voidinsertNodeFromHead(ListNode head,ListNode newNode)

{

newNode.next=head;

head=newNode;

}//从尾部插入新节点

public static voidinsertNodeFromTail(ListNode head,ListNode newNode)

{if(head == null) {

head=newNode;return;

}

ListNode temp= head;//用temp代替head去遍历找到最后一个节点,一定不要用head自己去遍历,不然就找不到链表头了

while(temp.next != null) { //下一节点不为空

temp =temp.next;

}

temp.next= newNode;//找到最后一个节点后把新节点插入进去

}//计算链表的长度

public static intlistNodeLength(ListNode head) {if(head ==null) {return 0;

}

ListNode temp=head;int length = 0;while(temp.next != null) {

length++;

temp=temp.next;

}returnlength;

}//从特定位置删除链表

public static boolean deleteFromIndex(ListNode head,intdeleteIndex)

{if(head == null || deleteIndex<1) {return false;

}if(deleteIndex == 1) {

head=head.next;return true;

}int index = 1;

ListNode temp=head;

ListNode deleteNode;while(temp.next != null && index

index++;

temp=temp.next;

}

deleteNode=temp.next;

temp.next=deleteNode.next;return true;

}//按顺序输出链表

public static voidprintListNode(ListNode head)

{

ListNode temp=head;while(temp.next != null)

{

System.out.print(temp.val);

System.out.print("\t");

temp=temp.next;

}

System.out.println();

}

}

java给链表赋值_Java链表操作代码相关推荐

  1. java 非静态 初始化_Java非静态代码块和实例初始化过程

    1 非静态代码块 非静态代码块特点 ①可以为实例变量(非静态的属性)初始化 ②每次创建对象的时候,都会执行一次,且先于构造器执行 ③若有多个非静态的代码块,那么按照定义的顺序从上到下依次执行 ④代码块 ...

  2. c++ listnode 赋值_java链表ListNode_DList购买_C++之ListNode

    java链表ListNode_DList购买_C++之ListNode 时间:2020-07-06 22:10:05 来源:网络投稿 编辑:周瑜 浏览:次 单链表,弄清楚可stl中list的区别Lis ...

  3. java 链表 传递_java 链表 传递过程中的问题

    具体情况如下一共有三个类,分别是主类main,从TXT文件中读取入链表的类read,还有一个是对链表内容进行查询的类inquiryread读取并没有问题,read中有加入检测M.List.add(A) ...

  4. java.util.list 赋值_java.util(ArrayList)

    public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serial ...

  5. java有什么字符串_Java 中操作字符串都有哪些类?它们之间有什么区别

    1. String.StringBuffer.StringBuilder 原文出自<编写高质量代码:改善 Java 程序的 151 个建议> CharSequence 接口有三个实现类与字 ...

  6. java反射对象赋值_Java反射详解

    反射(Reflection)能够让运行于 JVM 中的程序检测和修改运行时的行为. Class类提供了以下方法 四个public方法,用于获取某个类的构造方法: Constructor getCons ...

  7. java 泛型集合示例_Java 泛型(示例代码)

    1.泛型的由来 我们先看下面这段代码: 报错信息如下: 也就是 集合中第二个数据是 Integer,但是我们取出来的时候将其转换为 String 了,所以报错. 那么这个如何解决呢? ①.我们在遍历的 ...

  8. java静态类如何赋值_Java class对象说明 Java 静态变量声明和赋值说明

    先看下JDK中的说明: java.lang.Object java.lang.ClassInstances of theclass Class represent classes and interf ...

  9. java long类型赋值_Java语言编程第22讲——如何理解“Java是强类型语言”

    强类型语言,即Strongly Typed Language,从字面上理解,就是Java语言对类型要求很严格. Java语言对类型要求有哪些呢? 1.变量必须先声明类型,然后使用 例如: int i; ...

  10. java 类继承实例_java继承例子代码,java类的继承示例

    下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...

最新文章

  1. 面向JavaScript开发人员的Adobe AIR与Dreamweaver
  2. java如何获得集合的长度_Java集合长度
  3. 任正非就“注册姚安娜商标”事件道歉:为防恶意抢注,第一次公权私用
  4. 有了设计类导航网站,从此就不再需要瞎找了
  5. java与安卓接口_Android-Java-接口Interface
  6. android学习笔记---1.为应用添加新的Activity,中使用Intent(意图),结果码,请求码,得到新打开Activity 关闭后返回的数据,Bundle类的作用
  7. axure rp9是什么软件?如何在Mac中安装使用?
  8. 为计算机构建安全方案,计算机科学系安全管理标准化建设实施方案
  9. java比较两个类的值不相同_java 反射---------比较两个相同类型的对象相同属性的属性值是否相同的具体调用...
  10. 循环冗余校验码(计算机组成原理12)
  11. apple pencil二代值不值得买?iPad电容笔测评
  12. 一文读懂自然语言处理NLP
  13. C++SLT入门简介
  14. IntelliJ IDEA -2017.3.2(Ultimate Edition)的激活方式
  15. 梳理公司的组织架构 --- 组合模式
  16. 九个值得一试的跨平台移动应用开发工具
  17. 印象笔记如何取消首字母大写
  18. 没有订单,可以自行申请BSCI认证吗?
  19. m基于FPGA的积分梳状CIC滤波器verilog设计
  20. 小学计算机课标教学大纲的依据,中小学教学大纲为何改成课程标准?

热门文章

  1. 利用图神经网络进行社交机器人检测
  2. 金蝶云系统服务器,金蝶云星空-文件服务器配置指南
  3. C++实现人机对战围棋(使用Leela Zero权重)-策略
  4. 体表面积在线计算机,体表面积计算器
  5. 数字逻辑电路—全减器的实现
  6. win7QQ安装包可能被非法改动导致安装失败怎么办
  7. java 制作签名版电子合同
  8. PCD与STL格式及其内涵
  9. c51流水灯实验报告汇编语言,51单片机流水灯实验报告.doc
  10. npp 插件html,Notepad++中常用的插件