Home > Enterprise >  Binary Tree Transversing
Binary Tree Transversing

Time:02-08

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 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.
  •  Tags:  
  • Related