当前位置: 首页 > article >正文

每日一题137——删除链表的节点

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

返回删除后的链表的头节点。

注意:此题对比原题有改动

示例 1:

输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.
示例 2:

输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
 

说明:

题目保证链表中节点的值互不相同
若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteNode(ListNode* head, int val) {
        ListNode *p = head -> next;
        ListNode *pre = head;
        if(!head) return head;
        if(head->val == val) return head->next;
        while(p -> val != val){
            pre = p;
            p = p->next;
        }
        pre->next = p->next;
        return head;
    }
};


http://www.kler.cn/news/16377.html

相关文章:

  • Nginx反向代理和负载均衡
  • 回炉重造十一------ansible批量安装服务
  • Java IO流第一章
  • “BIM+智慧工地”精准“数字化”变身智慧工程“管家”
  • 国内首款多节点/无需密钥/无需登录的ChatGPT客户端开源项目
  • v2c - 从Verilog 转换到 C语言的工具
  • DDS基本原理与FPGA实现
  • 19安徽比赛
  • `netstat`的替换命令`ss`
  • 【深度学习】计算机视觉(12)——Faster RCNN(最终篇)
  • 【开源项目】Dynamic-Tp核心流程源码解读
  • 软件过程改进的12条
  • 带你深入学习k8s--(四) 控制器(k8s核心)
  • 【Unity入门】20.三维向量
  • 开源Stylegan人脸生成预训练模型
  • 局域网远程桌面工具推荐
  • mysql如何加行锁
  • Centos8手动设置时区、日期、时间,且将时间设置为24小时格式
  • C++:分治算法之选择问题的选择第k小元素问题
  • django auth模块帮你实现完整的用户体系
  • 基于电流控制的并网逆变器(Simulink)
  • 分布式链路追踪之SkyWalking
  • 瑞吉外卖管理端具体代码
  • MultiBox:Scalable Object Detection using Deep Neural Networks(论文Google翻译纯享)
  • 2022年职业教育技能大赛网络安全 linux系统渗透提权
  • 【C++技能树】类的六个成员函数Ⅰ --构造、析构、拷贝构造函数
  • 详解MySQL索引
  • 项目实战笔记
  • 解决wordpress 没有“add new“按钮
  • 一以贯之:从城市网络到“城市一张网”