剑指offer --- 栈的压入、弹出序列

算法 

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

剑指offer --- 合并两个排序的链表

算法 

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

剑指offer --- 链表中倒数第k个结点

算法 

输入一个链表,输出该链表中倒数第k个结点。

剑指offer --- 从尾到头打印链表

算法 

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList

剑指offer --- 包含min函数的栈

算法 

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

剑指offer --- 二叉搜索树的后序遍历序列

算法 

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

剑指offer --- 反转链表

算法 

输入一个链表,反转链表后,输出新链表的表头。

剑指offer --- 二维数组中的查找

算法 

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

剑指offer --- 变态跳台阶

算法 

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

剑指offer --- 旋转数组的最小数字

算法 

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。