Я как бы новичок в структуре даты.
В некоторых задачах Leetcode вводятся следующие данные: root = [1,2,3,4,5, null, 6,7, null], а тип корня - TreeNode, который выглядит как один узел, как показано ниже.
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
Но здесь явно указан список: root = [1,2,3,4,5, null, 6,7, null]
Когда я создаю рекурсивную функцию, и она получает корень в качестве входных данных и, возможно, возвращает целое число, начинает ли она автоматически работать с первым элементом в этом дереве, даже если корень здесь является деревом элементов? Мне кажется, что многие такие функции вызывают root и используют его как единственную переменную (или узел) вместо всего дерева, что иногда меня смущает. Например
def afunction(self, root: TreeNode) -> int:
queu = [root]
maxDepth = float('-inf')
result = 0
.....
Корень здесь кажется узлом, который на самом деле не содержит значения? А как его сохранить как queu = [root]?