vlambda博客
学习文章列表

《程序猿笔试题系列》一:二叉树的深度

题目:

      输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。


解答:

     查询树的深度我们可以这样想:左边的子树和右边的字数比,谁大就返回谁,那么再接上根节点+1就可以了



public static int getHeight(HeroNode root) {
if (root == null) { return 0; } else {
//左边的子树深度 int left = getHeight(root.getLeft());
//右边的子树深度 int right = getHeight(root.getRight());

int max = left;
if (right > max) { max = right; } return max + 1; } } //或者 public static int TreeDepth(HeroNode root) { if(root == null)return 0; int leftDepth = TreeDepth(root.getLeft()); int rightDepth = TreeDepth(root.getRight()); int result = 1 + ((leftDepth > rightDepth)?leftDepth:rightDepth); return result; }



《程序猿笔试题系列》一:二叉树的深度






     二叉树可以说是面试中常见的面试题了,上面只是给大家介绍了简单的一个面试题。如果大家对二叉树有不了解的话,请留言,留言比较多的话,后面将写一篇关于二叉树的文章,为大家详细介绍一下二叉树的结构及常见的相关面试题等。












- THE END -

作者简介

Mr.W

白天搬砖,晚上砌梦想。

相信每个人有故事,程序员更是有许多事故,书写最接地气的程序员故事,为大家找出更好的资料。