[leetcode]104.二叉树的最大深度
生活随笔
收集整理的這篇文章主要介紹了
[leetcode]104.二叉树的最大深度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個二叉樹,找出其最大深度。
二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。
說明:?葉子節點是指沒有子節點的節點。
示例:
給定二叉樹 [3,9,20,null,null,15,7],
返回它的最大深度?3 。
1.遞歸法
class Solution:def maxDepth(self, root: TreeNode) -> int:if root==None:return 0left = self.maxDepth(root.left)right = self.maxDepth(root.right)return max(left,right)+12.隊列
class Solution:def maxDepth(self, root: TreeNode) -> int:if root is None:return 0queue = []deep = 0queue.append(root)while len(queue)>0:size = len(queue)for i in range(size):node = queue.pop(0)if node.left != None:queue.append(node.left)if node.right != None:queue.append(node.right)deep += 1return deep隊列2
class Solution:def isSymmetric(self, root: TreeNode) -> bool:if root==None:return Truequeue = []queue.append(root)while len(queue)>0:size = len(queue)item = []for i in range(size):node = queue.pop(0)if node== None:item.append(-100000)continueelse:item.append(node.val)queue.append(node.left)queue.append(node.right)if not self.helper(item):return Falsereturn Truedef helper(self,data:list):n = len(data)left = 0right = n-1while left<right:if (data[left]!=data[right]):return Falseleft+=1right-=1return True總結
以上是生活随笔為你收集整理的[leetcode]104.二叉树的最大深度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [leetcode]102.二叉树的层序
- 下一篇: [leetcode]101.对称二叉树