剑指offer--面试题13:在O(1)时间删除链表节点
来源:互联网 发布:小型企业网络设计方案 编辑:程序博客网 时间:2024/05/29 02:27
题目描述
给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。
python实现:
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def deleteNode1(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. 注意:只给了要删除的节点,没有给链表头节点,那么就要想办法利用该结点达到删除的目的。 题目中特意强调了要删除的节点不是尾节点,所以我们可以使用这种办法:将要给定的节点后面的节点的值 依次往前一个节点复制,就像数组中元素往前移一样,最后删除掉最后一个结点 """ p = node node = None while p.next: p.val = p.next.val pre = p p = p.next pre.next = None #AC
#法2: def deleteNode(self, node): #实际上只要O(1)的时间复杂度就好 #把给定节点的后面节点的值拷贝过来后,直接将当前结点链接到后面节点的下一个结点就好 node.val = node.next.val node.next = node.next.next
0 0
- 剑指Offer :面试题13 在O(1)时间删除链表节点
- 剑指offer 面试题13—在O(1)时间删除链表节点
- 剑指Offer面试题13(java版):在O(1)时间删除链表节点
- 剑指offer面试题13-在O(1)时间删除链表的节点
- 剑指offer之面试题13:在O(1)时间删除链表节点
- 剑指offer--面试题13:在O(1)时间删除链表节点
- 剑指Offer面试题13(java版):在O(1)时间删除链表节点
- 剑指offer-面试题13-在O(1)时间删除链表节点
- 剑指offer面试题13 在O(1)时间删除链表节点
- 剑指offer 面试题12 在O(1)时间删除链表节点
- 剑指offer-面试题13.在O(1)时间删除链表节点
- 剑指offer面试题13在O(1)时间复杂度内删除单链表的一个节点
- [剑指offer][面试题13]在O(1)时间删除链表结点
- 《剑指Offer》面试题13:在O(1)时间删除链表结点
- 【剑指Offer学习】【面试题13 :在O(1)时间删除链表结点】
- 《剑指Offer》学习笔记--面试题13:在O(1)时间删除链表结点
- 剑指offer--面试题13:在O(1)时间删除链表结点--Java实现
- 剑指offer-面试题13:在O(1)时间删除链表结点
- ios textfield 怎么设置字体向右移动
- LeetCode OJ-23-Merge k Sorted Lists
- 经典SQL语句大全——(三)经典-数据开发
- 天坦android端架构设计
- java集合包总结(添加、删除等操作实现原理)
- 剑指offer--面试题13:在O(1)时间删除链表节点
- Hi3516A开发--GV7601 SPI通信问题
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)【转】
- REST学习
- 博客搬家啦
- Swift和Objective-C中的属性特性
- Android安全加密:Https编程
- Android 插件化 热修复 动态部署 2016 Android插件化框架和热修复技术的资料收集和汇总
- c++指针基础总结