栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【链表】【打卡第133道】:剑指Offer JZ18 删除链表的节点

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【链表】【打卡第133道】:剑指Offer JZ18 删除链表的节点

1、题目描述

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

1.此题对比原题有改动

2.题目保证链表中节点的值互不相同

3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点

2、算法分析

本题比较简单。

若head结点的值是否等于val,等于的话返回head.next

若链表中中间的值等于val,那么x.next = x.next.next

3、代码实现
public ListNode deleteNode(ListNode head,int val){
    ListNode newHead = head;
    if(head.val == val){
        return head.next;
    }
    while(head.next.val != val){
        head = head.next;
    }
    head.next = head.next.next;
    return newHead;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/629931.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号