python剑指offer
ZQSZXY
这个作者很懒,什么都没留下…
展开
-
[Python]最大间隙问题
最大间隙问题问题描述最大间隙问题是指,给定n个实数x1,x2,...,xnx_1, x_2,...,x_nx1,x2,...,xn,求这n个数在实轴上相邻2个数之间的最大差值。假设对任何实数的下取整函数耗时O(1)O(1)O(1),设计最大间隙问题的线性时间算法。解题思路第一种方法先对n个数进行从小到大排序,然后依次计算相邻两个数之间的距离。采用这种方法,最优排序方法的计算复杂度为...原创 2020-04-01 22:05:52 · 1784 阅读 · 0 评论 -
判断是否为平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树平衡二叉树定义:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。举例:判断二叉树是否为平衡二叉树例1: E / \ A D / \ B C 例2: E / A / \ B C...原创 2020-02-15 10:51:26 · 259 阅读 · 0 评论 -
Python二叉树和二叉树的镜像
1. 题目描述操作给定的二叉树,将其变换为源二叉树的镜像。2. 输入描述二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 ...原创 2020-02-04 17:05:31 · 627 阅读 · 1 评论 -
Python二叉树实现和遍历
1. 树的基本概念若一个结点有子树,那么该结点称为子树根的"双亲",子树的根是该结点的"孩子"。有相同双亲的结点互为"兄弟"。一个结点的所有子树上的任何结点都是该结点的后裔。从根结点到某个结点的路径上的所有结点都是该结点的祖先。结点的度:结点拥有的子树的数目。叶子:度为零的结点。分支结点:度不为零的结点。树的度:树中结点的最大的度。层次:根结点的层次为1,其余结点的层次等于该结点的双亲...原创 2020-02-03 16:22:45 · 1104 阅读 · 1 评论 -
[python栈]栈基础实现
栈是一种只能通过访问一端来实现数据存储与检索的线性数据结构,具有后进先出的特征。栈的抽象数据类型一个栈一般会实现以下方法:Stack() 构造方法,创建一个空栈,无参数,返回值是空栈push(value) 向栈顶压入一个新数据项,需要一个数据项参数,无返回值pop() 抛出栈顶数据项,无参数,返回被抛出的数据项,栈本身发生变化is_empty() 测试栈是否空栈。不需要...原创 2019-06-26 10:33:09 · 413 阅读 · 0 评论 -
[python链表]输入两个链表,找出它们的第一个公共结点。
题目:输入两个链表,找出它们的第一个公共结点。思路:用python解决的话,相对比较简单,把链表1中的值依次放到list1,然后依次遍历链表2,如果遍历到的值在list1中,说明找到了第一个公共结点,return即可。当然边界情况需要考虑。python代码如下:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, ...原创 2019-06-24 19:42:25 · 702 阅读 · 2 评论 -
[python字符串]替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:先把字符串转成list,然后对list遍历,如果s[i]=’ ‘则插入’%20’# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceS...原创 2019-06-24 20:46:40 · 1501 阅读 · 0 评论 -
[python队列]用链表实现队列
队列是一种先进先出的线性表我们定义如下的链表来实现队列数据结构:定义一个头结点,左边指向队列的开头,右边指向队列的末尾,这样就可以保证我们插入一个元素和取出一个元素都是O(1)的操作。方法一,用链表实现程序如下:# 定义一个头结点,左边指向队列的开头,# 右边指向队列的末尾,保证我们插入一个元素和取出一个元素都是O(1)的操作class Head: def __init__...原创 2019-06-28 10:40:02 · 2192 阅读 · 0 评论 -
[python单链表]单链表的基础实现
单链表的Python实现# 结点类class Node: def __init__(self, value): self.value = value self.next = None# 单链表class SingleLinklist: def __init__(self, node=None): # 头结点定义为私有变量...原创 2019-06-28 11:27:28 · 334 阅读 · 0 评论