摘要: 第四题 重建二叉树 思路:通过前序序列确定根节点,在中序序列找到其位置,确定左右子树,并把对应左右子树的数组根据根节点位置拷贝到新数组中,递归调用得到左右子树。 时间复杂度:O(n)。 代码: 阅读全文
posted @ 2019-02-25 23:51 css12345 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 第三题 从尾到头打印链表 思路:一种是反转链表再输出,这样会改变原来结构;另一种是正向遍历,将结果存入栈中,再依次出栈即可,或者使用递归,也是同样的道理。 时间复杂度:O(n)。 代码: 阅读全文
posted @ 2019-02-25 23:05 css12345 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 第二题 替换空格 思路:一种是申请一个新字符串遍历即可,一种是在原字符串上进行替换。当从前往后遍历字符时遇到空格需要后面的字母移动,时间复杂度为O(n2);而先计算出扩容后的大小从后面利用两个指针,一个指向之前的字符串的尾部,一个指向扩容后的尾部,向前移动第一个指针,判断该位置字母是否是空格来控制后 阅读全文
posted @ 2019-02-25 22:25 css12345 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 第一题 二维数组中的查找 思路:选择最右上角元素,判断是否相等,相等直接返回true;若元素值大于target,相当于筛掉了该元素所在列;若小于相当于筛掉了该元素所在行。当到达最左下角还未找到时结束循环,返回false。 时间复杂度:O(row+column),row为二维数组的行数,column为 阅读全文
posted @ 2019-02-25 21:54 css12345 阅读(161) 评论(0) 推荐(0) 编辑