leetcode 騰訊 二叉樹的最大深度

2021-09-27 07:43:14 字數 835 閱讀 1112

原題:

給定乙個二叉樹,找出其最大深度。

二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。

說明: 葉子節點是指沒有子節點的節點。

示例:給定二叉樹 [3,9,20,null,null,15,7],

3
/

9 20

/ 15 7

返回它的最大深度 3 。

在真實的面試中遇到過這道題?

分析:通過遞迴的方式,採用深度優先的方式求最大深度

**:

class treenode:

def __init__(self, x):

self.val = x

self.left = none

self.right = none

def maxdepth(self, root: treenode) -> int:

if root==none:

return 0

left = maxdepth(self,root.left)

right = maxdepth(self,root.right)

return max(left,right)+1

self =

tree =treenode(3)

tree.left=treenode(9)

tree.right = treenode(20)

tree.right.left = treenode(15)

tree.right.right = treenode(7)

print(maxdepth(self,tree))

leetcode 二叉樹 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...

LeetCode (二叉樹)反轉二叉樹

遞迴交換每乙個節點的左右子樹,重點在於訪問每乙個節點,然後交換左右子樹 definition for a binary tree node.struct treenode struct treenode inverttree struct treenode root 由於至少要講每乙個節點都訪問一次...

leetcode 二叉樹 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 方法一 遞迴 思路 比較訪問節點所在層次level和當前最高層次len levels 判定是否需...