删除单向链表中最小值
来源:互联网 发布:夜帝卡卢比捏脸数据 编辑:程序博客网 时间:2024/05/18 15:26
原题目:在单链表L中删除一个最小值节点,算法尽可能高效,且假设最小值节点为唯一。
原答案实在是蠢,特别复杂,看不懂,不想看。
自己写了个递归,时间复杂度o(n),空间复杂度o(1),优雅的解决了这个问题。
class LNode: def __init__(self, x): self.val = x self.next = Nonedef func(head, minnum): minnum = min(head.val, minnum) if head.next: head.next, minnum = func(head.next, minnum) if head.val == minnum: head = head.next return head, minnumif __name__ == '__main__': l1 = LNode(3) l1.next = LNode(1) l1.next.next = LNode(2) l = func(l1, 3) print l[0].val,l[0].next.val
有没有很cool~~~~~~~~~~~:)
阅读全文
0 0
- 删除单向链表中最小值
- 删除单向链表中重复的节点
- OJ-------从单向链表中删除指定节点
- 生成单向链表 并删除链表中某个元素
- 从单向链表中删除指定值的节点
- 华为OJ:从单向链表中删除指定值的节点
- 从单向链表中删除指定值的节点
- 华为oj 从单向链表中删除指定值的节点
- [编程题]从单向链表中删除指定值的节点
- 华为OJ从单向链表中删除指定值的节点
- 24.从单向链表中删除指定值的节点
- 删除最小堆的最小值
- 删除单向链表头元素
- 单向链表删除操作
- 单向链表删除节点
- 单向链表删除节点
- 单向链表删除节点
- 单向链表删除节点
- caller和callee的解析与使用-型参与实参的访问
- 关于使用pagehelper 时,无法生效的解决方法(Springboot)
- Scrapy学习笔记(4)分布式爬取京东商品详情,评论和评论总结
- git 仓库管理
- 深入理解abstract class和interface
- 删除单向链表中最小值
- 闭包的特点和判断闭包的执行结果
- DirectShow学习笔记总结
- svn 服务器
- Camera sensor 基本知识
- spark写数据到装有searchgard的ES集群
- 判断AndroidCPU32位还是64位
- HDU
- 多渠道打包正式签名APK