Leetcode 237:Delete Node in a Linked List
2021/7/11 11:08:02
本文主要是介绍Leetcode 237:Delete Node in a Linked List,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Leetcode 237:Delete Node in a Linked List
Write a function to delete a node in a singly-linked list. You will not be given access to the head of the list, instead you will be given access to the node to be deleted directly.
It is guaranteed that the node to be deleted is not a tail node in the list.
说人话:
单链表中结点不重复,给你一个结点,删除掉这个结点。
要点:
- 没有给头结点,只给了要删除的那个结点
- 结点不重复
- 链表至少包含两个节点
- 给定的节点为非末尾节点并且一定是链表中的一个有效节点
示例:
[法1] 修改结点的值
思路
因为本题没有给我们 head 结点,所以我们不可能得到要删除的结点 node 的前一个结点 pre,所以是不可能删除掉 node 结点本身的。
我们可以利用结点唯一
这个条件,将要删除的结点 node 后面的结点 next 的值覆盖到 node 上面,然后删除掉 next 直接,就等价于删除掉 node 结点。
代码
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public void deleteNode(ListNode node) { ListNode next = node.next; node.val = next.val; node.next = next.next; } }
提交结果
代码分析
- 时间复杂度:O(1)
- 空间复杂度:O(1)
这篇关于Leetcode 237:Delete Node in a Linked List的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02在 Objective-C 中strong 和 retain有什么区别-icode9专业技术文章分享
- 2024-11-02NSString 中的 hasPrefix 有什么作用-icode9专业技术文章分享
- 2024-11-02在 C 和 Objective-C 中inline的用法是什么-icode9专业技术文章分享
- 2024-11-02文件掩码什么意思?-icode9专业技术文章分享
- 2024-11-02在 Git 提交之前运行 composer cs-fix 命令怎么实现-icode9专业技术文章分享
- 2024-11-02为 Composer 的 cs-fix 命令指定一个目录怎么实现-icode9专业技术文章分享
- 2024-11-02微信公众号开发中怎么获取用户的 unionid-icode9专业技术文章分享
- 2024-11-01lip-sync公司指南:一文读懂主要玩家和技术
- 2024-11-01Anthropic的新RAG方法——提升大型语言模型在特定领域的表现
- 2024-11-01UniApp 中组件的生命周期是多少-icode9专业技术文章分享