java给链表赋值_Java链表操作代码[通俗易懂]

java给链表赋值_Java链表操作代码[通俗易懂]/****/packagecom.cherish.SwordRefersToOffer;/***@authoracer**/publicclasstest_22链表中倒数第k个节点{/****/publictest_22链表中倒数第k个节点(){//TODO自动生成的构造函数存根}publicstaticclassListNode{privateintval;ListNode…

大家好,又见面了,我是你们的朋友全栈君。

/****/

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();

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134120.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Word2vec原理浅析及gensim中word2vec使用

    Word2vec原理浅析及gensim中word2vec使用本文转载于以下博客链接:Word2vec原理浅析:https://blog.csdn.net/u010700066/article/details/83070102;gensim中word2vec使用:https://www.jianshu.com/p/b779f8219f74如有冒犯,还望谅解!Word2vec原理浅析及tensorflow实现Word2Vec是由Google的M…

    2022年5月13日
    38
  • native2ascii 用法_native to

    native2ascii 用法_native toDK native2ascii工具用法(2010-01-2814:25:30)转载标签:it分类:JAVA地带背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码…

    2025年10月28日
    5
  • 第一范式、第二范式和第三范式「建议收藏」

    第一范式、第二范式和第三范式「建议收藏」数据库的范式概念:设计数据库是,需要遵循的一些规范,要遵循后边的范式要求,必须遵循前边的所有范式要求设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈梯次规范,越高的范式数据库冗余越小目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式、第四范式(4NF)、第五范式(5NF)。…

    2022年5月23日
    43
  • 低延迟视频传输_网络延时

    低延迟视频传输_网络延时微信后台如何应对像跨年,特殊时刻(比如2022年2月22日22时22分22秒)这样的朋友圈突发流量,可做如下策略(只是比如):优先让发一张图片的成功。九宫格只成功一部分,剩余的强有损压缩。朋友多的优先成功。(也可以反过来)设置三天可见的优先成功。(也可以反过来)年轻女性优先成功。(这个没毛病)历史点赞多的优先成功。(也可以反过来)头像穿西装打领带的经理统统失败。…在不影响P99用户体验的前提下,提供有损服务,保证核心可用性,这就是柔性。但数据传输的思维定势并不认可柔性。受TCP的影

    2022年10月3日
    3
  • POJ-1502-MPI Maelstrom

    POJ-1502-MPI Maelstrom

    2021年6月21日
    109
  • ldap 统一认证 java_如何在你的系统里集成LDAP统一认证「建议收藏」

    一、为什么需要统一认证日常办公经常会有多套系统,如果各个系统各自维护一套用户认证,用户需要记住多个用户名密码。系统各自管理用户认证的方式,不但会有重复建设的问题,用户体验也会差,经常会有用户忘记密码的情况。二、LDAP统一认证是什么LDAP是LightweightDirectoryAccessProtocol(轻量级目录访问协议)的缩写,它是基于X.500标准的轻量组播目录访问协议。目录…

    2022年4月17日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号