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
CodePudding user response:
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 beNone
TreeNode
: this means the value is an instance of the classTreeNode
. 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.