最近,我发现一些代码似乎没有为递归定义基本情况,但是效果很好。
这是leetcode问题690的解决方案。员工的重要性。
class Solution(object):
def getImportance(self, employees, id):
"""
:type employees: Employee
:type id: int
:rtype: int
"""
employee_dict = {employee.id : employee for employee in employees}
def helper(id):
ans = employee_dict[id].importance
for x in employee_dict[id].subordinates:
ans += helper(x)
return ans
return helper(id)
我对递归的了解是,您必须有一个基本情况才能返回,否则它将永远运行下去。但是,为什么没有这个基本案例呢?有人可以解释吗?谢谢!