![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记-剑指Offer
chunhewang
这个作者很懒,什么都没留下…
展开
-
替换空格
题目请实现一个函数,把字符串中的每个空格替换成每个空格成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。分析这个题目有两种情况。如果是在原来的字符串上做替换,那么就有可能覆盖修改在该字符串后面的内存。如果创建新的字符串并在新的字符串上做替换,那么我们可以自己分配足够多的内存。假设要求在原来的字符串上做替换,并且保证输入的字符串后面有足够多的空余内存。原创 2015-11-23 20:40:19 · 681 阅读 · 0 评论 -
从尾到头打印链表
题目输入一个链表的头结点,从尾到头反过来打印出每个结点的值。分析通常打印是一个只读操作,不希望打印时修改内容。假设该题目要求不能改变链表的结构。 遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是第一个遍历的结点最后一个输出,而最后一个遍历到的结点第一个输出。这就是典型的“后进先出”,我们可以利用栈实现这种顺序。每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始原创 2015-11-25 16:52:25 · 641 阅读 · 0 评论 -
二维数组中的查找
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如下面的二维数组就是每行、每列都增序排序。如果在这个数组中查找数字13,则返回true;如果查找数字15,由于数组不含有该数字,则返回false。 1 2 7 10 5 8 9 11 7原创 2015-11-20 22:10:55 · 561 阅读 · 0 评论 -
重建二叉树
题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中不含有重复地数字。例如输入的前序遍历序列{1 , 2 , 4 , 7 , 3, 5 , 6 , 8}和中序遍历序列{4 , 7 , 2 , 1 , 5 , 3 , 8 , 6},则重建出下图1所示的二叉树并输出它的头结点。 (1) / \ (2) (3)原创 2015-12-02 14:04:18 · 641 阅读 · 0 评论