摘要: 第13 题:题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0 个结点为链表的尾指针思路:先遍历链表,求得总节点数N,则倒数第K个节点是正数N-K,时间复杂度为o(N+N-K) 1 package com.rui.microsoft; 2 3 public class Test13... 阅读全文
posted @ 2015-10-23 16:55 蟹粉小笼包 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目:已知二叉树的前序序列和中序序列求解树比如 6 4 83 5 7前序序列为6,4,3,5,8,7中序序列为3,4,5,6,7,8思路: 前序遍历序列的第一个元素必为根节点 则中序遍历序列中,该节点之前的为左子树,该节点之后的为右子树,若该节点之前没有节点,则左子树为空,反之右子... 阅读全文
posted @ 2015-10-23 16:02 蟹粉小笼包 阅读(3067) 评论(0) 推荐(0) 编辑
摘要: 第11 题求二叉树中节点的最大距离...如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离思路: 一棵树中节点的最大距离,对于根节点来说,可以看做是左子树的最大深度加右子树的最大深度在加上左右各... 阅读全文
posted @ 2015-10-23 15:19 蟹粉小笼包 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 第10 题翻转句子中单词的顺序。题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”思路:可以先翻转整个字符串,然后依次截取各个单词,... 阅读全文
posted @ 2015-10-23 10:48 蟹粉小笼包 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 9.判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:8/ \6 10/ \ / \5 7 9 11因此返回true。... 阅读全文
posted @ 2015-10-22 18:09 蟹粉小笼包 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 5.查找最小的k 个元素题目:输入n 个整数,输出其中最小的k 个。例如输入1,2,3,4,5,6,7 和8 这8 个数字,则最小的4 个数字为1,2,3 和4。思路: 对于元素集合非常大的情况,比如上亿条数据,可以通过在内存中构造一个有限大小的大堆(heap)来处理大堆的特性是根节点总是为堆内元素... 阅读全文
posted @ 2015-10-21 18:45 蟹粉小笼包 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 4.在二元树中找出和为某一值的所有路径题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22 和如下二元树10/ \5 12/ \4 7则打印出两条路径:10, 12 和10, 5, 7思路: 递归 为了... 阅读全文
posted @ 2015-10-20 23:04 蟹粉小笼包 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 3.求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,... 阅读全文
posted @ 2015-10-20 18:35 蟹粉小笼包 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 要求:1. 定义栈的数据结构,要求添加一个 min函数,能够得到栈的最小元素2. 要求函数 min、push 以及 pop 的时间复杂度都是 O(1)思路: 构建一个辅助栈, 只有当前入栈的数据小于该辅助栈的栈顶元素时,才将其push到辅助栈, 保证辅助栈的栈顶元素总为最小,当出栈时,如果出栈元素大... 阅读全文
posted @ 2015-10-20 18:06 蟹粉小笼包 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 提高编程能力的最佳途径就是多写代码, 就让我们从现在开始吧!1.输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / | 6 14/ | / |4 8 12 16转换成双向链表4=6=8=10=12=14=16。二叉查找树的... 阅读全文
posted @ 2015-10-20 17:29 蟹粉小笼包 阅读(207) 评论(0) 推荐(0) 编辑