zoukankan      html  css  js  c++  java
  • 剑指 Offer 18. 删除链表的节点(简单)

    通过率 59.5%

    题目链接

    题目描述:

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

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

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

    示例 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 被删除的节点

    思路:

    先判断头节点是否为要删除的节点,若是,则直接返回head.next;否则,遍历链表找到要删除的节点,一旦找到某个节点的值等于val,说明该节点就是要删除的节点,则令该节点前一个节点的next指向该节点的next就行了

     1 /*JavaScript*/
     2 /**
     3  * Definition for singly-linked list.
     4  * function ListNode(val) {
     5  *     this.val = val;
     6  *     this.next = null;
     7  * }
     8  */
     9 /**
    10  * @param {ListNode} head
    11  * @param {number} val
    12  * @return {ListNode}
    13  */
    14 var deleteNode = function(head, val) {
    15     if(head.val === val) {
    16         return head.next
    17     }
    18     let p = head
    19     while(p.next && p.next.val !== val) {
    20         p = p.next
    21     }
    22     p.next = p.next.next
    23     return head
    24 };
  • 相关阅读:
    tomcat进阶操作
    tomcat环境部署
    CentOS 7.2安装lepus数据库监控系统
    常见的Linux系统监控命令
    zabbix使用jmx监控tomcat
    zabbix配置文件详解
    zabbix2.2.22 升级3.0.18
    zabbix日志监控
    zabbix api的使用
    zabbix低级自动发现之mysql多实例
  • 原文地址:https://www.cnblogs.com/wwqzbl/p/15203400.html
Copyright © 2011-2022 走看看