input: Write a python function to perform in-order traversal of a binary tree and print the node values.
  assert inOrderTraversal(TreeNode(1, TreeNode(2), TreeNode(3))) == [2, 1, 3]
  assert inOrderTraversal(TreeNode(5, TreeNode(3, TreeNode(2), TreeNode(4)), TreeNode(7, TreeNode(6), TreeNode(8)))) == [2, 3, 4, 5, 6, 7, 8]
  assert inOrderTraversal(TreeNode(10)) == [10]
output: def inOrderTraversal(root):
      def traverse(node):
          if node is None:
              return []
          return traverse(node.left) + [node.val] + traverse(node.right)
      
      return traverse(root)
  
  class TreeNode:
      def __init__(self, val=0, left=None, right=None):
          self.val = val
          self.left = left
          self.right = right