剑指offer
keep_sy
这个作者很懒,什么都没留下…
展开
-
替换空格@剑指offer
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路 Python中,replace()函数 ...原创 2019-02-27 18:03:22 · 147 阅读 · 0 评论 -
从尾到头打印链表@剑指offer
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解题思路 在python中,链表是采用“引用+类”的方式来实现。链表本质上是节点的连接,定义节点类class listNode, 每一个节点都由值域和指针域两部分构成。 题目要求返回一个arrayList, 也就是说可以依次取到每个节点的值,插入到arrayList里面,每插入一个后,移动head一次。从而可以返回所得的a...原创 2019-02-28 21:36:08 · 122 阅读 · 0 评论 -
重建二叉树@剑指offer
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路分析 二叉树的三种遍历方式实质上就是递归的调用。 在三种遍历中,前序遍历的第一个一定是根节点root, 中序遍历中,根节点一定在中间的位置,由此可以...原创 2019-03-01 23:24:49 · 233 阅读 · 0 评论 -
斐波那契及青蛙跳台阶@剑指offer
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 思路分析 斐波那契数列:0,1,1,2,3,5,8,13,21,34,55…满足f(n)=f(n-1)+f(n-2),很显然可以用递归来做。代码如下一。 法二:动态规划。 代码实现 #一·递归实现 def Fibonacci(n): if n == 0: ...原创 2019-03-05 21:34:56 · 132 阅读 · 0 评论 -
用两个栈实现队列@剑指offer
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路分析 在python中,list.append()可以实现在列表末尾添加元素的操作,即push() list.pop()可以实现删除列表元素的操作,默认删除最后一个元素。pop([index = -1]) 题目给出了队列元素为int类型,因此list.append()和list.pop()可行 代码...原创 2019-03-03 11:40:56 · 115 阅读 · 0 评论 -
二叉树的镜像@剑指offer
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 思路分析 二叉树的镜像即将二叉树每个节点的左右子节点互换,因此可以利用递归的思想实现。 代码实现 def Mirror(root): if root != None: #tmp = root.left #root.left = root.right #root.right = tmp ...原创 2019-03-13 21:44:39 · 164 阅读 · 0 评论 -
二叉搜索树与双向链表的转换@剑指offer
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路分析 二叉搜索树BinarySearchTree的特点是,左节点的值小于根节点的值,右节点的值大于根节点的值,并且左右子树遵循同样的规律。 如图为一棵二叉搜索树,由此可见二叉搜索树的规律是:他的中序遍历是有序的序列。 2-5-6-8-9-10-11, 因此如果要判断一...原创 2019-04-03 10:58:42 · 138 阅读 · 0 评论 -
二叉树中和为某一值的路径@剑指offer
题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 思路分析 由题目分析可知,要找到这样一条路径 ...原创 2019-04-03 17:42:54 · 135 阅读 · 0 评论 -
连续子数组的最大和@剑指offer
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和, 当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2}, 连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,...原创 2019-04-27 17:41:05 · 102 阅读 · 0 评论