Java剑指offer之删除链表的节点(删除链表第k个节点java)

网友投稿 296 2022-08-10


Java剑指offer之删除链表的节点(删除链表第k个节点java)

目录1.简述2.代码实现

1.简述

描述:

给定单向链表skTXZCf的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。

1.此题对比原题有改动2.题目保证链表中节点的值互不相同3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点

数据范围:

0<=链表节点值<=10000

0<=链表长度<=10000

示例1

输入:

{2,5,1,9},5

返回值:

{2,skTXZCf1,9}

说明:

给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 2 -> 1 -> 9

示例2

输入:

{2,5,1,9},1

返回值:

{2,5,9}

说明:

给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 2 -> 5 -> 9

2.代码实现

import java.util.*;

/*

* public class ListNode {

* int val;

* ListskTXZCfNode next = null;

* public ListNode(int val) {

* this.val = val;

* }

* }

*/

public class Solution {

/**

* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

*

*

* @param head ListNode类

* @param val int整型

* @return ListNode类

*/

public ListNode deleteNode (ListNode head, int val) {

ListNode dummy = new ListNode(-1);

dummy.next = head;

ListNode node = dummy;

while(node.next!=null){

if(node.next.val==val){

node.next = node.next.next;

break;

}

node = node.next;

}

return dummy.next;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Java实现验证码程序(java登陆验证码功能怎么实现)
下一篇:分布式开发医疗挂号系统数据字典模块前后端实现(医院挂号系统数据字典)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~