输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 输入: 每个测试案例包括n+1行: 第一行为2个整数n,k(1<=n<=10000),n表示结点的个数,k表示要求的路径和,结点编号从1到n。 接下来有n行。这n行中每行为3...
[九度][何海涛] 栈的压入压出 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。
剑指Offer: 名企面试官精讲典型编程题(第2版)pdf电子版 作者: 何海涛 出版社: 电子工业出版社 出版年: 2017-5 ISBN: 9787121310928 下l载连接 无论是内容还是讲述的方式,都是难得一见的好书,尤其是解决问题的思维方法很值得学习。看完后我自己对数据结构的兴趣真是越来越大了。
int beg, int end) 5 { 6 if (beg > end) 7 return true; 8 9 int root = a[end]; 10 11 int mid = end - 1; 12 13 while(mid >= beg) 14 { 15 if (a[mid] > root) 16 mid--; 17 else 18 break; 19 } 20 21 for(int i = beg; i <= mid; i++) 22 if (a[i] >...
[何海涛] 求二元查找树的镜像 题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 /\ 610 /\/\ 57911 输出: 8 /\ 106 /\/\ 119 75...
[何海涛][数据结构][判断二叉树是不是平衡]浅析 原题链接 这道题的优化思路是:求数的深度和判断数的平衡可以同时来做,但由于返回值用来判断数是否平衡,因此无奈加入了一个指针参数,来传递子树的深度。我认为其实深度也可以包含在返回值中,我们定义返回值的意义如下:...
[九度][何海涛] 字符串的排序 题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入: 每个测试案例包括1行。 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
[九度][何海涛] 斐波那契数列 题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下: 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n<=70)。 输出: 对应每个测试案例,...
[九度][何海涛] Move!Move!!Move!!!题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很...
类似的再举一个例子:题目:从上往下打印二叉树,何老师的代码如下(是没有问题的):void PrintFromTopToBottom(BinaryTreeNode* pRoot){ if(pRoot == n...