python - 这个递归函数是否返回了基本情况?
问题描述
我理解为什么第一个代码块有效,因为有一个基本案例返回。在第二个代码块中,基本情况没有显式返回,只有一个if语句来检查节点是否存在,我很困惑递归是如何在那里工作的。
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
result = []
def dfs(node):
if not node: return
dfs(node.left)
result.append(node.val)
dfs(node.right)
dfs(root)
return result
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
result = []
def dfs(node):
if node:
dfs(node.left)
result.append(node.val)
dfs(node.right)
dfs(root)
return result
解决方案
推荐阅读
- ionic-framework - 如何使用带持续时间的加载控制器
- javascript - 按钮单击时的经典 ASP 更新仅适用于 IE,不适用于其他浏览器
- ms-access - MS Access - 查询 - 唯一值
- sorting - JCL 排序以获取选择性记录
- powershell - 是否可以在多个网络位置的文件内容中进行搜索和替换?
- android - 从另一个活动更新存储在一个活动中的对象
- linux - 无法让脚本在后台运行
- scala - 让一个未来等待另一个未来再走
- selector - Puppeteer (1.14.0) 无法通过“id”找到锚标记,尽管 JQuery 可以找到它
- java - 当我将 GUI 窗口大小增加到完整时,组件会返回标准布局