python - 二叉搜索树的最大深度
问题描述
我正在尝试编写一个递归函数来获取二叉搜索树的最大深度。我不确定这两种实现之间的区别。他们不应该返回相同的结果吗?
代码 1:
def maxDepth(self, root: TreeNode) -> int:
l = r = 0
if root:
print(root.val)
if root.left:
print(f"In left subtree for root {root.val}")
l = self.maxDepth(root.left)
print(f"l: {l} r: {r}")
if root.right:
print(f"In right subtree for root {root.val}")
r = self.maxDepth(root.right)
print(f"l: {l} r: {r}")
else:
print("No subtree")
return max(l,r) + 1
代码 2:
def maxDepth(self, root: TreeNode) -> int:
l = r = 0
if root:
print(root.val)
if root.left:
print(f"In left subtree for root {root.val}")
l = self.maxDepth(root.left) + 1
print(f"l: {l} r: {r}")
if root.right:
print(f"In right subtree for root {root.val}")
r = self.maxDepth(root.right) + 1
print(f"l: {l} r: {r}")
else:
print("No subtree")
return max(l,r)
解决方案
推荐阅读
- mongodb - Laravel - 为什么在 MongoDB 上插入 Carbon::now() 时会有 timezone_type 和 timezone
- unicode - 如何将包含的 UTF-8 二进制文件的错误 unicode 转换为 str?
- c# - 单独类中的 DelegateCommand 第一次调用 CanExecute 参数为空
- angular - 在 Angular 中对列表组件进行排序
- c# - WPF 与 SciChart 在单独的 AppDomain 中
- c++ - 如何解决“向量下标超出范围”错误?
- javascript - Sequelize.js 设置器功能无法按预期工作
- php - 使用 PHP 和 MYSQL 将 last_insert_id() 插入到不同的表中时的不同 ID
- pyspark - 火花“java.io.IOException:设备上没有剩余空间”
- java - 如何使用 codemodel 使用父类的任何字段