题型都很常见,但是有些并不能马上就能有思路,真到了面试,面试官并不会给太多时间思考时间,没有思路直接凉凉。所以记录一下常见问题,平时多看,多思考,多总结:
一、常见题型
1. 求两个节点的最近公共祖先;
2. 求二叉树中最远的两个节点的距离;
3. 由前序遍历和中序遍历重建二叉树(如:前序序列:1 2 3 4 5 6 - 中序序列 :3 2 4 1 6 5);
4. 判断一棵树是否是完全二叉树 ;
5. 将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向;
6.求二叉树的宽度;
7. 判断一棵二叉树是否是平衡二叉树;
8.判断一颗二叉树是否是另一颗树的子树。
问题转化为代码有两个过程,问题->算法思路,算法思路->代码。后面这个过程训练多了都不会有太大问题,反而前面这个过程便成为了瓶颈,所以平时一定要多总结归纳。