笔试题
JOY酷酷
这个作者很懒,什么都没留下…
展开
-
已知二叉树的前序、中序遍历,重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:利用递归的思想,对于每个子树,前序遍历序列的第一个为根,那么在中序遍历序列中找到这个根的位置,它的前一部分为左子树,后部分为右子树。原创 2017-03-22 21:46:02 · 454 阅读 · 0 评论 -
二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL)原创 2017-03-23 22:44:15 · 248 阅读 · 0 评论 -
奇虎360 2017春招真题
A、B两伙马贼意外地在一片沙漠中发现了一处金矿,双方都想独占金矿,但各自的实力都不足以吞下对方,经过谈判后,双方同意用一个公平的方式来处理这片金矿。处理的规则如下:他们把整个金矿分成n段,由A、B开始轮流从最左端或最右端占据一段,直到分完为止。马贼A想提前知道他们能分到多少金子,因此请你帮忙计算他们最后各自拥有多少金子?(两伙马贼均会采取对己方有利的策略)#include原创 2017-03-24 21:42:49 · 938 阅读 · 0 评论