leetcode104,111,543 求二叉树深度的dfs解法
Posted yawenw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode104,111,543 求二叉树深度的dfs解法相关的知识,希望对你有一定的参考价值。
104.求二叉树的最大深度
class Solution: def maxDepth(self, root: TreeNode) -> int: if root == None: return 0 else: leftdepth = self.maxDepth(root.left) rightdepth = self.maxDepth(root.right) return max(leftdepth, rightdepth) + 1 #!!!关键在于+1
111.求二叉树的最小深度
class Solution: def minDepth(self, root: TreeNode) -> int: if not root: return 0 if not root.left: return self.minDepth(root.right)+1 if not root.right: return self.minDepth(root.left)+1 return min(self.minDepth(root.left), self.minDepth(root.right))+1
543.求二叉树的直径
class Solution: def diameterOfBinaryTree(self, root: TreeNode) -> int: self.ans = 1 def depth(node): if not node: return 0 L = depth(node.left) R = depth(node.right) self.ans = max(self.ans, L+R+1) return max(L, R) + 1 depth(root) return self.ans - 1
以上是关于leetcode104,111,543 求二叉树深度的dfs解法的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 题号26:删除数组中的重复元素, 104 求二叉树的最大深度
Leetcode 题号26:删除数组中的重复元素, 104 求二叉树的最大深度