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-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享
- 2024-12-24uniapp 连接之后会被立马断开是什么原因?-icode9专业技术文章分享
- 2024-12-24cdn 路径可以指定规则映射吗?-icode9专业技术文章分享
- 2024-12-24CAP:Serverless?+AI?让应用开发更简单
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享