-1

I'm really new to coding and was stuck at one of the Leetcode problems on Binary Tree Transversing.

Can anyone please explain what the following line of code means:

def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:

From what I understood, the core was trying to define a function pre-order traversal and a class TreeNode was defined earlier. However I was not able to get what root: Optional[TreeNode] and ->List[int] meant.

Thanks in advance

DYZ
  • 55,249
  • 10
  • 64
  • 93

1 Answers1

0

If it helps, you can ignore the type hints in that function declaration. If you change it to this, it will still work:

def preorderTraversal(self, root):

The type hints are helping editors (and you) to know the expected type of parameters and of the function's return value:

  • Optional: this means the value could be None
  • TreeNode: this means the value is an instance of the class TreeNode. LeetCode provides its definition in a comment block in the original code template you get to work with. It is indeed predefined.
  • List[int]: this means the returned value should be a list, and the list elements should be integers.
trincot
  • 317,000
  • 35
  • 244
  • 286