![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序员代码面试指南
LeonHardtW
普通民工
展开
-
由两个栈组成的队列(python)
# 由两个栈组成的队列class TwoStackQueue: def __init__(self): self.stackPush = [] self.stackPop = [] def add(self, pushInt): self.stackPush.append(pushInt) def poll(sel...原创 2019-05-16 23:59:34 · 144 阅读 · 0 评论 -
设计一个有getMin功能的栈(python)
参考左程云《程序员代码面试指南》,因为通常用的是Python,而书中代码是JAVA编写,所以打算将其中代码改写成Python代码,算法思路自行购书查看。不久就要投入茫茫求职人海中,希望能坚持下来……# 设计一个有getMin功能的栈class Mystack1: def __init__(self): self._stackData = [] s...原创 2019-05-16 22:33:27 · 216 阅读 · 0 评论 -
如何仅用递归函数和栈操作逆序一个栈(python)
# 如何仅用递归函数和栈操作逆序一个栈def getAndRemoveLastElement(stack): '''将栈stack的栈底元素返回并移除''' result = stack.pop() if not stack: return result else: last = getAndRemoveLastElement...原创 2019-05-23 00:15:35 · 664 阅读 · 0 评论 -
猫狗队列(python)
# 猫狗队列class Pet: def __init__(self, type): self._type = type def getPetType(self): return self._type class Dog(Pet): def __init__(self): super().__init__("d...原创 2019-05-28 23:14:55 · 315 阅读 · 0 评论 -
用一个栈实现另一个栈的排序(python)
# 用一个栈实现另一个栈的排序def sortStackByStack(stack): help = [] while stack: cur = stack.pop() while help and help[-1] > cur: stack.append(help.pop()) help.app...原创 2019-05-28 23:35:58 · 684 阅读 · 0 评论 -
用栈来求解汉诺塔问题(python)
# 用栈来求解汉诺塔问题# 方法一:递归的方法def hanoiProblem(num:int, left:str, mid:str, right:str)->int: if num < 1: return 0 return process(num, left, mid, right, left, right)def process(nu...原创 2019-06-26 14:17:03 · 2283 阅读 · 0 评论 -
生成窗口最大值数组(python)
# 生成窗口最大值数组from collections import dequefrom array import arraydef getMaxWindow(arr:array, w:int)->list: if not arr or w < 1 or len(arr) < w: return None qmax = deque() ...原创 2019-06-26 15:39:20 · 291 阅读 · 0 评论 -
构造数组的MaxTree
# 构造数组的MaxTreefrom array import arrayclass Node: """二叉树节点""" def __init__(self, data): self.left = None self.right = None self.value = datadef getMaxTree(arr:arr...原创 2019-06-26 17:37:37 · 154 阅读 · 0 评论