当前位置: 首页 > 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/a/16377.html

相关文章:

  • 动态规划问题-删除并获得点数(Java实现)
  • 《Python网络安全项目实战》项目5 编写网站扫描程序
  • 微服务各组件整合
  • Qt_day4_Qt_UI设计
  • 【练习案例】30个 CSS Javascript 加载器动画效果
  • 在Java中使用ModelMapper简化Shapefile属性转JavaBean实战
  • 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模块帮你实现完整的用户体系