前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试题18. 删除链表的节点

面试题18. 删除链表的节点

原创
作者头像
Michel_Rolle
修改2021-03-02 10:02:14
1.2K0
修改2021-03-02 10:02:14
举报
文章被收录于专栏:LeetCode解题LeetCode解题

面试题18. 删除链表的节点

链接

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

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

示例1

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

示例2

代码语言:txt
复制
输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.
代码语言:txt
复制
type ListNode struct {
	Val  int
	Next *ListNode
}

func deleteNode(head *ListNode, val int) *ListNode {
    //情况1
    if head.Val==val{
        return head.Next
    }
    //情况2
    pre:=head   
    for head.Next.Val!=val{
        head=head.Next
    }
    head.Next=head.Next.Next
    return pre
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面试题18. 删除链表的节点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档