当前位置: 代码迷 >> 综合 >> LeetCode题解(1137):二叉树中的列表(Python)
  详细解决方案

LeetCode题解(1137):二叉树中的列表(Python)

热度:94   发布时间:2024-02-01 13:15:53.0

题目:原题链接(中等)

标签:二叉树、二叉树-深度优先遍历、链表

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N ) O(N) O ( K l o g N ) O(KlogN) : K为目标链表长度 96ms (99.54%)
Ans 2 (Python)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一(存储所有当前可能情况):

在这里插入图片描述

def isSubPath(self, head: ListNode, root: TreeNode) -> bool:def helper(node, maybe):# 处理当前节点为空的情况if not node:return Falsenew_maybe = []for m in maybe:if node.val == m.val:if m.next is None:return Truenew_maybe.append(m.next)if node.val == head.val:if head.next is None:return Truenew_maybe.append(head.next)return helper(node.left, new_maybe) or helper(node.right, new_maybe)return helper(root, [])