zoukankan      html  css  js  c++  java
  • 【剑指Offer-知识迁移能力】面试题55:二叉树的深度

    题目描述

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

    思路

    一棵二叉树的深度是其左子树和右子树深度的最大值+1。拿左子树的深度来讲,左子树的深度等于其左右子树深度的最大值+1。递归这一过程即可,代码如下:

    /*
    struct TreeNode {
    	int val;
    	struct TreeNode *left;
    	struct TreeNode *right;
    	TreeNode(int x) :
    			val(x), left(NULL), right(NULL) {
    	}
    };*/
    class Solution {
    public:
        int TreeDepth(TreeNode* pRoot)
        {
            if(pRoot==nullptr)
                return 0;
            int leftDepth = TreeDepth(pRoot->left)+1;
            int rightDepth = TreeDepth(pRoot->right)+1;
            
            if(leftDepth>rightDepth)
                return leftDepth;
            else return rightDepth;
        }
    };
    
  • 相关阅读:
    剑指offer系列40:构建乘积数组
    自学网站
    存储分析--- 转载
    程序员面试宝典第四版
    资源查找
    诗句
    fifo manage
    charlse抓包
    python基础之-----列表list工厂的仓库
    python内置函数积累
  • 原文地址:https://www.cnblogs.com/flix/p/12519913.html
Copyright © 2011-2022 走看看