摘要:
4.在二元树中找出和为某一值的所有路径题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22 和如下二元树10/ \5 12/ \4 7则打印出两条路径:10, 12 和10, 5, 7思路: 递归 为了... 阅读全文
摘要:
3.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,... 阅读全文
摘要:
要求:1. 定义栈的数据结构,要求添加一个 min函数,能够得到栈的最小元素2. 要求函数 min、push 以及 pop 的时间复杂度都是 O(1)思路: 构建一个辅助栈, 只有当前入栈的数据小于该辅助栈的栈顶元素时,才将其push到辅助栈, 保证辅助栈的栈顶元素总为最小,当出栈时,如果出栈元素大... 阅读全文
摘要:
提高编程能力的最佳途径就是多写代码, 就让我们从现在开始吧!1.输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / | 6 14/ | / |4 8 12 16转换成双向链表4=6=8=10=12=14=16。二叉查找树的... 阅读全文