剑指Offer-37.二叉树的深度(C++/Java)】的更多相关文章

  本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的/结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 思路 简洁理解: 树的深度=max(左子树深度,右子树深度)+1,采用递归实现. 测试算例 1.功能测试(左斜树.右斜树.普通树) 2.边界值测试(一个结点) 3.特殊测试(null) Java代码 //题目:输入一棵二叉树的根结点,求该树…
该题目来源于牛客网<剑指offer>专题. 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. Go语言实现: /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func maxDepth(root *TreeNode) int { if r…
本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:…
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 题目地址 https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 思路 思路1: 递…
题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 解题思路: 这道题也是递归的思路,比较简单. 做的过程中遇到的一个问题是return count++这句,实际返回的是count之后再加了.还是直接用count+1返回. 代码: /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x)…
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. [思路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(T…
题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.   题解: 简单的深度遍历即可.   class Solution { public: int TreeDepth(TreeNode* pRoot) { ; //深度优先遍历 DFS(pRoot, ); return maxLevel; } private: ; void DFS(TreeNode *pRoot, int level) { if (pRoot ==…
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 日期 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 解题方法 找到左右子树最大深度+1即可,递归的终止条件是空节点的深度是0. Python代码: # -*- coding:…
#include <stdio.h> #include <malloc.h> typedef int Item; typedef struct node{ Item m_value; struct node* m_pLeft; struct node* m_pRight; }BinaryTreeNode; int getTreeDepth(BinaryTreeNode *root){ if(root == NULL){ ; } int depthLeft = getTreeDept…
剑指 Offer 37. 序列化二叉树 Offer_37 题目描述 题目解析 本题主要考察的就是二叉树的层次遍历. 层次遍历时可以根据二叉树的特点将空结点也进栈. 反序列化时同样可以根据层次遍历的思路,每次生成当前结点的左右子树指针结点. java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/4 23:01 */ import java.util.LinkedList; import java…