以下是一个使用递归的示例代码来找到通过列表的最长路径:
def find_longest_path(lst):
# 如果列表为空,则返回0
if not lst:
return 0
max_path = 0
for i in range(len(lst)):
# 如果当前元素是列表,则递归调用函数来找到子列表的最长路径
if isinstance(lst[i], list):
path = find_longest_path(lst[i])
# 更新当前最长路径
if path > max_path:
max_path = path
# 返回最长路径加上当前列表的长度
return max_path + len(lst)
使用示例:
lst = [1, 2, [3, [4, 5]], [6, [7, 8, [9, 10]]]]
print(find_longest_path(lst)) # 输出:8
在上述示例中,列表[3, [4, 5]]
的路径长度为3,列表[6, [7, 8, [9, 10]]]
的路径长度为4,因此通过列表的最长路径为8。
下一篇:编写一个函数来找到一个数字的位数