剑指offer
草莓感冒片
~~~
展开
-
打印从1到最大的n位数
输入数字n,按顺序打印从1到最大的n位十进制数。比如输入3,则打印1、2、3一直到最大的3位数999class PrintMaxNumber {public: PrintMaxNumber(int i = 1) :n(i) {} void Print1ToMaxOfN();private: bool Increment(char *number); ...原创 2018-08-25 20:10:27 · 302 阅读 · 0 评论 -
重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 在二叉树的前序序列中,第一个数字总是树的根节点值。在中序序列中,左子树的节点的值位于根节点的左边,右子树的节点的值位于根节点的右边。...原创 2018-08-17 15:26:40 · 109 阅读 · 0 评论 -
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析 选取数组中右上角的数字。 若该数字等于要查找的数字,则查找结束; 若该数字大于要查找的数字,则剔除这个数字所在的列; 若该数字小于要查找的数字,则剔除这个数字所在的行。 若选取数组中...原创 2018-08-26 11:47:42 · 133 阅读 · 0 评论 -
替换空格
请实现一个函数,把字符串中的每个空格替换成”%20”。如,输入”We are happy.”,则输出”We%20are%20happy.”。分析 先遍历一次字符串,统计出空格数。并算出替换后的字符串的总长度。每替换一个空格,字符串长度增加2。示例void ReplaceBlankSpace(char *str, int len){ if (nullpt...原创 2018-08-26 13:47:25 · 150 阅读 · 0 评论