首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameError:未定义名称“TreeNode”

NameError:未定义名称“TreeNode”
EN

Stack Overflow用户
提问于 2022-08-26 12:15:48
回答 1查看 251关注 0票数 -1
代码语言:javascript
复制
from typing import Optional
class Solution:
    def findLeaves(self,root: Optional[TreeNode]) -> list[list[int]]:
        def post_order(node):
            nonlocal lookup

            if not node:
                return 0
            left_depth = post_order(node.left)
            right_depth = post_order(node.right)
            curr_depth = max(left_depth,right_depth) + 1
            lookup(curr_depth).append(node.val)
            return curr_depth
        lookup = defaultdict(list)
        post_order(root)
        return lookup.values()

demo = Solution()
root = [1,2,3,4,5]

v = demo.findLeaves(root)
print(v)

运行后,将报告以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "E:\pythonProject\LeetCode\366_find_leaf_nodes.py", line 2, in <module>
    class Solution:
  File "E:\pythonProject\LeetCode\366_find_leaf_nodes.py", line 3, in Solution
    def findLeaves(self,root: TreeNode) -> list[list[int]]:
NameError: name 'TreeNode' is not defined**
EN

回答 1

Stack Overflow用户

发布于 2022-08-30 01:46:58

TreeNode是由LeetCode定义的类。您需要复制它们的类定义,在代码顶部的注释中给出:

代码语言:javascript
复制
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right

您还需要将测试用例构造为TreeNode而不是列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73500897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档