![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
BlackMaBa
这个作者很懒,什么都没留下…
展开
-
剑指Offer——10.斐波那切数列
题目1:求斐波那切数列的第n项写一个函数,输入n,求斐波那切(Fibonacci)数列的第n项。斐波那切数列的定义如下:算法思想:采用递归算法可以解决上述问题。递归虽然有代码简洁的优点,但它同时也有显著的缺点。递归由于是函数调用自身,而函数调用是有时间和空间消耗的:每一次函数调用,都需要在内存栈中分配空间以保存参数、返回地址及临时变量,而且往栈里压入数据和弹出数据都需要时间。本...原创 2018-08-09 14:51:44 · 788 阅读 · 0 评论 -
剑指Offer——11.旋转数组的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{ 3,4,5,1,2 }为{ 1,2,3,4,5}的一个旋转,该数组的最小值为1。算法思想:本题给出的数组在一定程度上是排序的,因此可以用二分查找的思想来解决问题。1.定义两个指针分别指向数组的第一个元素和最后一个元素。根据旋转的规则,得知第...原创 2018-08-10 16:46:43 · 152 阅读 · 0 评论 -
剑指Offer——7.重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。二叉树节点定义如下: class BinaryTreeNode { int data; BinaryTreeNode le...原创 2018-08-06 16:43:59 · 273 阅读 · 0 评论 -
剑指Offer——8.二叉树的下一个节点
题目:给定一颗二叉树和其中一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左、右子节点的指针,还有一个指向父节点的指针。二叉树节点定义如下: class BinaryTreeNode { int data; BinaryTreeNode left; BinaryTreeNode right; B...原创 2018-08-06 20:01:52 · 177 阅读 · 0 评论