python - 了解: "def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:" on leetcode

标签 python algorithm class

这个问题在这里已经有了答案:





What does -> mean in Python function definitions?

(10 个回答)


2年前关闭。




我正在解决有关 leetcode 的一些问题,但我不理解他们编写的相同代码。例如,为什么会有一个指向 int (-> int:) 的箭头?我也不明白 TreeNode 的用途。只是为了验证输入吗?

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:

最佳答案

调用函数注释,请阅读此页面。

https://www.python.org/dev/peps/pep-3107/

或者

What does -> mean in Python function definitions?

In more detail, Python 2.x has docstrings, which allow you to attach a metadata string to various types of object. This is amazingly handy, so Python 3 extends the feature by allowing you to attach metadata to functions describing their parameters and return values.

There's no preconceived use case, but the PEP suggests several. One very handy one is to allow you to annotate parameters with their expected types; it would then be easy to write a decorator that verifies the annotations or coerces the arguments to the right type. Another is to allow parameter-specific documentation instead of encoding it into the docstring.



用户:卡特里尔
TreeNode本身是二叉树数据结构的一部分,我不知道提到的具体 leetcode 问题,但本质上这棵树由许多 TreeNodes 组成引用其他 TreeNodes通过变量 self.leftleft.right ,这些名称用于模拟视觉二叉树传统上的样子。他们只是在定义节点,以便您可以了解在回答问题时期望什么类。

https://www.geeksforgeeks.org/binary-tree-data-structure/

关于python - 了解: "def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:" on leetcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57732591/

相关文章:

algorithm - 如何匹配dna序列模式

java - 在构造函数中调用 this() 是否会隐式调用 super()?

css - 为什么我的primarylinks菜单只为某些元素添加类?

python - Riak Search 2 没有索引存储桶

python - 如何将 numpy 安装到 Python 3.5?

python - 在 OS X 10.7 上安装 PyCrypto for Python 3.2

C++ 没有类类型

python - 改善加权移动平均滤波器功能的运行时间?

algorithm - 子集和与 N 数组解决方案,需要动态解决方案

algorithm - 允许重复的有向多重图的线性排序