优惠券网站怎么搭建,百度关键词检测工具,视频推广方案,深圳市企业网站建设删除链表的节点
https://leetcode-cn.com/problems/delete-node-in-a-linked-list
最优解 把下一个节点的值移动到当前删除节点#xff0c;然后更改当前节点的Next node.Val node.Next.Valnode.Next node.Next.Nextother p.next p.next.next即可达到删除的目的 /*** Defi…删除链表的节点
https://leetcode-cn.com/problems/delete-node-in-a-linked-list
最优解 把下一个节点的值移动到当前删除节点然后更改当前节点的Next node.Val node.Next.Valnode.Next node.Next.Nextother p.next p.next.next即可达到删除的目的 /*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func deleteNode(head *ListNode, val int) *ListNode {if head.Val val{return head.Next}pre:head for head.Next.Val ! val{head head.Next}head.Next head.Next.Nextreturn pre
}题目
删除链表中的节点 请编写一个函数使其可以删除某个链表中给定的非末尾节点你将只被给定要求被删除的节点。
现有一个链表 – head [4,5,1,9]它可以表示为:
示例 1:
输入: head [4,5,1,9], node 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点那么在调用了你的函数之后该链表应变为 4 - 1 - 9. 示例 2:
输入: head [4,5,1,9], node 1 输出: [4,5,9] 解释: 给定你链表中值为 1 的第三个节点那么在调用了你的函数之后该链表应变为 4 - 5 - 9.
Code 依然注意是达到删除的目的 /*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func deleteNode(node *ListNode) {for node.Next.Next ! nil {node.Val node.Next.Valnode node.Next}node.Val node.Next.Valnode.Next nil
}