![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
史浩的专栏
这个作者很懒,什么都没留下…
展开
-
第一题:二维数组中的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # wr...原创 2018-12-03 15:58:27 · 288 阅读 · 0 评论 -
第二题:替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 # -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here ret...原创 2018-12-03 15:59:20 · 336 阅读 · 1 评论 -
第三题:从尾到头打印链表
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3]...原创 2018-12-03 16:00:08 · 300 阅读 · 0 评论 -
第四题:重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # s...原创 2018-12-03 16:00:51 · 278 阅读 · 0 评论 -
第五题:用两个栈实现队列
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 # -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack1 = [] #用来入队 self.stack2 = [] #用来出队 def push(self, node): ...原创 2018-12-03 17:26:54 · 317 阅读 · 0 评论 -
第六题:旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 第一种解法: 注:看到这道题,我立马就想到了这个解法,然后提交,竟然对了。。。。 # -*- coding:utf-8 -...原创 2019-01-18 17:12:53 · 302 阅读 · 0 评论