剑指offer
霜降sma
作为一个程序媛,我要努力生活【雾
展开
-
【剑指offer】青蛙跳系列&&斐波拉契
题目1:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 公式:f(n) = f(n-1)+f(n-2) 显然直接递归容易超时,由此用迭代法,取一个变量存中间值。 public class Solution { public int Fibonacci(int n) { int f1 = 1; int f2 =原创 2017-03-08 21:31:52 · 211 阅读 · 0 评论 -
【剑指offer】从尾到头打印链表
递归,第一次用java写编程题。import java.util.ArrayList; class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } } public class Solution原创 2017-03-05 21:09:09 · 215 阅读 · 0 评论 -
【剑指offer】重建二叉树&&二叉树的递归与非递归遍历
前序遍历:先根节点,左子结点,右子节点。 中序遍历:先左子节点,根节点,右子节点。 后序遍历:先左子结点,右子节点,根节点。 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。import java原创 2017-03-05 22:55:55 · 450 阅读 · 0 评论 -
【剑指offer】用两个栈实现队列
队列:先进先出,后进后出 栈:先进后出,后进先出 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new原创 2017-03-06 22:34:34 · 188 阅读 · 0 评论 -
【剑指offer】旋转数组的最小数字&&二分查找
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。public class Solution { /** * 简易方法 * @para原创 2017-03-06 23:18:28 · 365 阅读 · 0 评论