树
yh_cheer
这个作者很懒,什么都没留下…
展开
-
【剑指offer】面试题55:平衡二叉树
题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路递归判断每个节点的深度是否满足平衡二叉树的要求,即左右子树的高度差不超过1。注意点递归:从上往下递归会造成重复计算影响效率,可以通过后序遍历从下往上解决。剪枝:一旦有结点判断出不是平衡二叉树,则不必再判断后续未处理的结点,直接返回结果。解题步骤递归计算结点的深度,从最左下的结点开始判断,如果不满足平衡二叉...原创 2019-03-29 14:24:12 · 261 阅读 · 0 评论 -
【剑指offer】面试题54:二叉搜索树的第K小节点
题目描述给定一棵二叉搜索树,请找出其中的第k小的结点。例如,(5,3,7,2,4,6,8)中,按结点数值大小顺序第三小结点的值为4。解题思路这题考察二叉搜索树的性质,即中序遍历是有序的。维护一个数组保存中序遍历的结果,答案就能得出来了。注意点一开始我漏了做一个检测,即k是否大于返回的中序遍历结果,导致有部分案例ac不了。【考点】 树 中序遍历class Solution {...原创 2019-03-26 20:08:18 · 399 阅读 · 0 评论 -
【剑指offer】面试题55:二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路如果只有一个结点,深度为1。如果该结点有左右树,深度就是左右子树的深度的较大值+1。【考点】 树 递归class Solution {public: int TreeDepth(TreeNode* pRoot) { ...原创 2019-03-26 20:21:43 · 116 阅读 · 0 评论