[劍指offer] 38. 二叉樹的深度
題目描述
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。遞迴
class Solution { public: int TreeDepth(TreeNode *pRoot) { if (pRoot == NULL) return 0; int depLeft = 1 + TreeDepth(pRoot->left); int depRight = 1 + TreeDepth(pRoot->right);return max(depLeft, depRight); } };
相關推薦
劍指offer 38. 二叉樹的深度
原題 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 Reference Answer 思路分析 想輕鬆一些,直接廣度優先搜尋,程式碼如下: # -*- coding:utf-8 -*- # cla
[劍指offer] 38. 二叉樹的深度
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 遞迴 class Solution { public: int TreeDepth(TreeNo
劍指offer之二叉樹的深度
1.題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 2.問題分析 方法一: 可以使用遞迴的方法,分別求左子樹和右子樹的深度,則樹的深度是:更大者 + 1。這是一個遞迴的方法。
【LeetCode 劍指Offer】 二叉樹的最大與最小深度
求最大深度和最小深度。 最大深度 題目: 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路: 1,一個二叉樹的深度 = 以根節點為root的子樹的深度 = max (
(劍指offer)二叉樹的深度
時間限制:1秒 空間限制:32768K 熱度指數:115503 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 /** public class TreeNode { int val =
劍指Offer-55 二叉樹的深度
題目: 輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 樣例 輸入:二叉樹[8, 12, 2, null, null, 6, 4, null, null, null, null] 輸出:3 解答:
【劍指offer】二叉樹的深度
層次遍歷 執行時間:28ms 佔用記憶體:5752k # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val = x # self.
LintCode-劍指Offer-(97)二叉樹的最大深度
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left,
劍指Offer: 二叉樹的深度、平衡二叉樹
二叉樹的深度 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 /* struct TreeNode { int val; struct TreeNode *
劍指offer:二叉樹的深度(Python)
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 解題思路 兩種解法,一種是第一時間的思路,即獲得根節點到每個葉節點的深度,取其中最長的返回: class Soluti
【劍指offer】二叉樹的深度python實現
劍指offer題目:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。思路:深度使用遞迴# -*- coding:utf-8 -*- # class TreeNode: # def __init__
(劍指offer)二叉樹的深度(遞迴與非遞迴版本)
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。一、遞迴版本;若存在左子樹,則將左子樹深度加1;若存在右子樹,則將右子樹深度加1;若左右子樹均存在,則將左、右子樹深度均加1取最大值;細節見程式碼:int TreeDepth(TreeNod
劍指offer--45.二叉樹的深度
wrap pan sub 時間限制 root 二叉樹 最長 div 二叉 時間限制:1秒 空間限制:32768K 熱度指數:139716 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度
劍指offer之 二叉樹鏡像
tno eno 描述 temp 結點 輸出 urn tree 定義 package Problem19; /* * 問題描述: * 請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像; */ //定義二叉樹的結構 class BinaryTreeNode {
劍指Offer——重建二叉樹
urn return 重復 col 分割 init 樹的遍歷 ++ fin 題目描述: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,
劍指Offer——把二叉樹打印成多行
blog queue 隊列 int 利用 vector ont str logs 題目描述: 從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 分析: 二叉樹的層次遍歷,利用隊列。 代碼: 1 /* 2 struct TreeNode { 3
劍指Offer - 平衡二叉樹
log public oot com int 技術 pos item span https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222?tpId=13&tqId=11192&tPa
劍指offer-25.二叉樹中和為某一值的路徑
path val tmp aux node ptr body 深度 light 0 題目 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 1 分析 深度優先遍歷+回溯. 出點就是,
劍指Offer:二叉樹打印成多行【23】
tree height -- main lis true evel width pac 劍指Offer:二叉樹打印成多行【23】 題目描述 從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 題目分析 Java題解 package tree; i
劍指offer--重建二叉樹
lag node rec 劍指offer == str eno truct 個數字 題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4