定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 首先我们可以考虑将最小元素储存在一个变量...

定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 首先我们可以考虑将最小元素储存在一个变量...
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11...
操作给定的二叉树,将其变换为源二叉树的镜像。 第一种 使用循环的思路,将每个结点的左右子树调换一下即可。使用递归收集所有结点。 第二种 直接使用...
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 有关于各种树的很多题目都可以用递归的思路去解决。
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 第一种 使用一个dummy结点,然后比较两个链表的...
输入一个链表,反转链表后,输出新链表的表头。 通常感觉各种操作链表比较乱,其实理清了也还好。
输入一个链表,输出该链表中倒数第k个结点。 容易想到的方法是遍历一下,计算总共有n个结点,然后倒数第k个就可以转化为正数第n-k+1个结点。还可...
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分。 第一种 使用O(n...
给定单向链表的头指针和一个结点指针,要求在O(1)时间内删除该结点。 删除结点分为三种情况 给定结点是头结点,则删除头结点,返回第二个结点。 给...
输入数字n,按照顺序打印从1到最大的n位十进制数。比如n=3,则打印1到999 最容易想到的是根据n求出最大的值是多少,然后使用一个for循环即...
专题公告
这个是自己做的剑指offer的题解