数据结构—线性结构—链表:(在O(1)时间复杂度删除链表节点)

一、题目:

给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。

样例:Linked list is 1->2->3->4, and given node 3, delete the node in place 1->2->4

二、分析:

需要考虑的点:

1、时间复杂度为O(1);

2、删除的是非首尾节点;

3、令当前节点值等于下一个节点值,删除下一个节点;

三、代码:

/*** Definition for ListNode.*/
public class ListNode {int val;ListNode next;ListNode(int val) {this.val = val;this.next = null;}
}public class Solution {/** @param node: the node in the list should be deletedt* @return: nothing*/public void deleteNode(ListNode node) {// write your code herenode.val = node.next.val;node.next = node.next.next;}
}

在O(1)时间复杂度删除链表节点(372)相关推荐

  1. LintCode Delete Node in the Middle of Singly Linked List 在O(1)时间复杂度删除链表节点

    中文描述: 给定一个单链表中的表头和一个等待被删除的节点(非表头或表尾).请在在O(1)时间复杂度删除该链表节点.并在删除该节点后,返回表头. 样例 给定 1->2->3->4,和节 ...

  2. C#刷剑指Offer | 在O(1)时间删除链表节点

    [C#刷题]| 作者 / Edison Zhou 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目),希望对你有帮助!本文题目为:在O(1)时间删 ...

  3. 在O(1)时间删除链表节点

    在O(1)时间删除链表节点 [题目]: 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该节点. void deleteNode(ListNode* pListHead, ListN ...

  4. C语言通过链表指针删除链表节点的算法(附完整源码)

    C语言通过链表指针删除链表节点的算法 C语言通过链表指针删除链表节点的算法完整源码(定义,实现,main函数测试) C语言通过链表指针删除链表节点的算法完整源码(定义,实现,main函数测试) #in ...

  5. 面试题18: 删除链表节点:删除链表中重复的节点

    /******************************************************************* *<剑指Offer--名企面试官精讲典型编程题>C ...

  6. 关于递归删除链表节点为什么不会断链问题解释

    问题的由来:    当你第一次实现用递归实现链表删除功能的时候,是否有一丝丝的考虑过.这个问题呢?为什么对于非递归版本的删除必须要知道当前要删除节点的前驱,而需要对其前驱节点的next域指针进行修改. ...

  7. 【Offer】[18-1] 【在O(1)时间内删除链表节点】

    题目描述 思路分析 测试用例 代码链接 题目描述 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 思路分析 一般我们删除单链表中的节点是需要遍历链表,找到要删除节点的前一个 ...

  8. 剑指offer-面试题13.在O(1)时间删除链表节点

    题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间删除该节点. 链表节点与函数的定义如下. 通常我们删除某个节点都是从头开始遍历到需要删除节点的前一个节点. 然后使得该节点的next ...

  9. 数据结构-在O(1)时间删除链表节点

    题目:给定单向链表的头指针和一个节点的指针,定义一个函数在O(1)时间删除该节点. 分析:本题目是基于一个假设,要删除的节点的确在链表中.因为我们需要O(n)的时间来判断该节点是否在链表中. /* 剑 ...

  10. 【链表】删除链表的倒数第n个节点

    思路:为了保持删除头结点和其他节点操作一致,引入虚拟头结点duumyNode. 假设链表长度为len,删除倒数第n个节点就是删除第len-n+1个节点,删除链表节点需要使用待删除节点 的前驱节点,所以 ...

最新文章

  1. scanf(%s,a)和gets(a)的差别
  2. Listview点击事件
  3. 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(一)
  4. Vue.js分页组件实现:diVuePagination
  5. 患者如何区分股癣和银屑病+药膏根治
  6. 大数据技术架构_架构大数据图
  7. 中小企业上云多地域办公组网,建立高质量云上内网环境
  8. c语言内置画直线函数库,C语言不调用库函数画直线
  9. java 面向对象之内存管理
  10. mysql setautocommit_MySql 中的setAutoCommit方法
  11. 关于nhibernate的一个问题
  12. ecshop php7 mysql_ecshop如何修改并支持PHP7
  13. Android MediaPlayer+Stagefright框架(音频)图解
  14. android投屏到电脑
  15. Java Web调用Matlab实现在线绘图
  16. 调试Linux OpenWrt 2.6.36+华为ME909s-821 4G模块
  17. unity 设置纯白3D环绕背景
  18. 错误: 找不到或无法加载主类 org.sang.BlogserverApplication
  19. python深拷贝与浅拷贝
  20. 一分钟详解智能快递柜锁控板方案和原理

热门文章

  1. 【数字信号处理】基于matlab GUI IIR低通+FIR高通信号时域+频谱分析【含Matlab源码 1029期】
  2. 【电路仿真】基于simulink模拟锁相环设计【含Matlab源码 339期】
  3. 【VRP】基于matlab遗传算法求解多中心的车辆路径规划问题【含Matlab源码 010期】
  4. sql 连接高级语言之后查询出现乱码_还有不会用 SQL 的程序员吗?
  5. ai 文案_AI是UX文案的未来吗?
  6. ai带来的革命_Covid-19将加速AI医疗保健革命
  7. 构建ai数据库_为使用AI的所有人构建更安全的互联网
  8. linux时间戳c语言,C语言实现字符转unix时间戳的简单实例
  9. mysql数据库存储数组_数据库索引的知识点,你所需要了解的都在这儿了
  10. Title函数--Matplotlib