二叉樹的深度[劍指offer]之python實現
題目描述
輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。
-*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def TreeDepth(self , pRoot):
if pRoot == None:
return 0;
lDepth = Solution.TreeDepth(self , pRoot.left);
rDepth = Solution.TreeDepth(self , pRoot.right);
return max(lDepth , rDepth) + 1
相關推薦
二叉樹的深度[劍指offer]之python實現
題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 題目連結 -*- coding:utf-8 -*- # clas
二叉樹的映象[劍指offer]之python實現
題目描述 操作給定的二叉樹,將其變換為源二叉樹的映象。 輸入描述: 二叉樹的映象定義:源二叉樹 8 / \ 6 1
平衡二叉樹[劍指offer]之python實現
題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 題目連結 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self
C++ 前序遍歷和中序遍歷重構二叉樹(劍指offer)
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 這道題之前做過幾次,以前
重建二叉樹 (劍指offer第六題)
題目:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 有思路,但是沒寫出來。還得多練練。 解釋一下大神的幾個關鍵
對稱的二叉樹(劍指offer+鏡面對稱+遞迴)
對稱的二叉樹 參與人數:904時間限制:1秒空間限制:32768K通過比例:28.19%最佳記錄:0 ms|8552K 題目描述 請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果
反轉連結串列[劍指offer]之python實現
題目描述 輸入一個連結串列,反轉連結串列後,輸出連結串列的所有元素。 題目連結 # -*- coding:utf-8 -*- # class ListNode: # def __init
劍指offer-10-Python實現(二進位制中1的個數)
題目內容: 解答思路: 把一個整數減去1,再和原來的整數做位與運算,會把該整數最右邊一個1變成0.也就是說,一個整數的二進位制有多少個1,就可以完成多少次這樣的操作。 可以寫出程式碼: def func(n): cnt = 0 w
劍指offer-9-Python實現斐波那契(Fibonacci)數列
題目內容: 數列為:1,1,2,3,5,8… 解法一:遞迴方法 def JumpFloor(n): if(n==0):return 0 elif(n==1):return 1 elif(n==2):return 1
劍指offer-8- Python實現旋轉陣列的最小數
一、題目描述 二、解法 def minNumberInRotateArray(rotateArray): # write code here p1 = 0 p2 = len(rotateArray)-1 mid = p1
劍指offer之二叉樹的深度
1.題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 2.問題分析 方法一: 可以使用遞迴的方法,分別求左子樹和右子樹的深度,則樹的深度是:更大者 + 1。這是一個遞迴的方法。
劍指offer之求二叉樹的深度(非遞迴的層次遍歷)Java實現
劍指offer上一道比較基礎的題目,但這個解法不僅可以求二叉樹的深度同時可以求二叉樹的最大層數,某一層的某一個節點 是一種比較通用的方法! 先建立資料模型 package Binary_tree; public class Node {//二叉樹節點 priva
劍指offer之【從上往下打印二叉樹】
emp pub push coder 二叉 spa cti public ott 題目: 從上往下打印二叉樹 鏈接: https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13
劍指offer之 二叉樹鏡像
tno eno 描述 temp 結點 輸出 urn tree 定義 package Problem19; /* * 問題描述: * 請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像; */ //定義二叉樹的結構 class BinaryTreeNode {
劍指offer之 從上往下打印二叉樹
節點 result ava null val imp tree solution 當前 import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int
劍指offer之平衡二叉樹
1.題目描述 輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。 2.問題分析 什麼是平衡二叉樹?平衡二叉搜尋樹(Self-balancing binary searchtree)又被稱為AVL樹(有別於AVL演算法),且具有以下性質:它是一 棵空樹或它的左右兩個子樹的高度差
【Java】 劍指offer(55-1) 二叉樹的深度 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集
本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集 題目 輸入一棵二叉樹的根結點,求該樹的深度。從根結點到葉結點依次經過的/結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路 簡潔理
劍指Offer之從上往下列印二叉樹
題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右列印。 解題思路 二叉樹的層次遍歷,水題。。。有一個坑:如果root是空的,直接返回空vector,一定要注意邊界條件!!!!!!!!! AC程
劍指offer-------之字列印二叉樹
題目: 思路: 程式碼: struct TreeNode { int val; TreeNode *left; TreeNode *right; } void Print(BinaryTreeNOde* pRoot) { if(pRoot ==
劍指offer之二叉樹的下一個結點
1.題目描述 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。 2.問題分析 3.原始碼 // 例如: 1 // 2 3 // 4 6 7 /