首页 > 解决方案 > 这个递归函数是否返回了基本情况?

问题描述

我理解为什么第一个代码块有效,因为有一个基本案例返回。在第二个代码块中,基本情况没有显式返回,只有一个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

标签: pythonrecursion

解决方案


推荐阅读