python - 理解:“def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:” on leetcode
问题描述
我正在解决有关 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/
或者
更详细地说,Python 2.x 有文档字符串,它允许您将元数据字符串附加到各种类型的对象。这非常方便,因此 Python 3 通过允许您将元数据附加到描述其参数和返回值的函数来扩展该功能。
没有先入为主的用例,但 PEP 提出了几个。一种非常方便的方法是允许您使用预期类型注释参数;然后很容易编写一个装饰器来验证注释或将参数强制为正确的类型。另一个是允许特定参数的文档,而不是将其编码到文档字符串中。
用户:卡特里尔
它TreeNode
本身是二叉树数据结构的一部分,我不知道所提到的具体 leetcode 问题,但本质上该树是由许多通过变量TreeNodes
引用其他的树组成的,名称用于模拟可视二进制树传统上看起来像。他们只是在定义节点,以便您可以了解在回答问题时期望什么类。TreeNodes
self.left
left.right
推荐阅读
- wpf - 如何在 Propertygrid 中显示强制名称字段(扩展 wpf 工具包 3.4.0 版)
- iframe - Youtube iframe:如何在嵌入式播放器中隐藏作者?
- sql-server - 如何将每个订单放置在其之前的订单日期旁边?
- sql-server - 为给定值准备 WHERE 子句字符串
- iis-10 - 在 iis(4.122.18.3) 中找不到 Oracle.DataAccess (ODAC)18.3
- sql - SSIS 包在脚本任务完成后绕过任务
- .net - 如何计算第三班出勤的进出时间
- c - 如何使用指针对结构数组进行排序?
- dart - Dart => expr 语法只有一个表达式而不是一个语句是部分的
- matlab - 如何解释在多个输出的神经网络回归结束时获得的回归图?