随笔分类 - 剑指offer
摘要:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压 入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的 一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的
阅读全文
摘要:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 C++:
阅读全文
摘要:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. C++:
阅读全文
摘要:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) C++:
阅读全文
摘要:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 C++:迭代 C++:递归
阅读全文
摘要:输入一个链表,输出该链表中倒数第k个结点。 p1先走k-1步,p1 p2再一起走 C++:
阅读全文
摘要:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分 C++: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位
阅读全文
摘要:删除链表的一个结点,用下一个结点覆盖掉要删除的结点,再释放掉要删结点的下一个结点的内存 Java:
阅读全文
摘要:输入数字 n,按顺序打印出从 1 最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数即 999。由于 n 可能会非常大,因此不能直接用 int 表示数字,而是用 char 数组进行存储。 使用回溯法得到所有的数。 Java:
阅读全文
摘要:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 比如求2的32次方,先求出2的16次方,然后2^16 * 2^16然后递归求2^16,如果次方为奇数,则再乘一个base C++: java:
阅读全文
摘要:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 例如9的二进制是1001,输入9,输出2 一个数-1后,最右边的1会变为0 比如1100 -1后为10111100&1011=1000 扩展:1.判断一个整数是不是2的整数次方,2的整数次方的二进制只有1个1,所以就是判断二进制是否只
阅读全文
摘要:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历的第一个值为根节点的值,使用这个值将中序遍历结果分成两
阅读全文
摘要:输入一个链表,从尾到头打印链表每个节点的值。 方法一:用栈 方法二:递归 方法三:使用java中的 Collections.reverse() C++: java:
阅读全文
摘要:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 1 1 2 3 5... C++: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法 1 2 3 5... f(n)=f(n-1)+f(n-2)注意 f1=1 f2=2
阅读全文
摘要:输入一个递增排序数组的一个旋转,输出旋转数组的最小元素例如1,2,3,4,5的一个旋转可以为3,4,5,1,2把一个数组的最开始若干个元素搬到数组的末尾,称之为数组的旋转 输出旋转数组的最小元素 C++: java:
阅读全文
摘要:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 C++: Java:
阅读全文
摘要:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 C++: C++: java: java:
阅读全文
摘要:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 1 2 8 92 4 9 124 7 10 116 8 11 15 C++: c++: java:
阅读全文

浙公网安备 33010602011771号