摘要:
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 分析: 二叉树前序遍历的第一个值是根节点的值,从中 阅读全文
摘要:
题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 分析: 方法1:利用栈的性质,先从头到尾遍历链表每个节点的值存入栈中,最后一个一个出栈顺序便是从尾到头的。 方法2:直接从头到尾遍历链表存储节点的值将值存到数组中,最后翻转数组。 方法3:直接从头到尾遍历链表存储节点的值将值插入到数组的第一个 阅读全文
摘要:
题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析: 如果从前往后替换空格,那么每遇到一个空格就需要将还没遍历到的字符后移,总的移动步数将会很多。 所以我们考虑先求出替换空格之后 阅读全文
摘要:
题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析: 因为二维数组中,从左到右和从上到下都是递增排序,可以从右上角往左下角查找(或者从左下角往右上角查找),只需O(n 阅读全文