func inOrderTraversal(_ node: Node<Int>?) {
guard let node = node else { return }
inOrderTraversal(node.left)
print(node.value, terminator: " ")
inOrderTraversal(node.right)
}
func preOrderTraversal(_ node: Node<Int>?) {
guard let node = node else { return }
print(node.value, terminator: " ")
preOrderTraversal(node.left)
preOrderTraversal(node.right)
}
func postOrderTraversal(_ node: Node<Int>?) {
guard let node = node else { return }
postOrderTraversal(node.left)
postOrderTraversal(node.right)
print(node.value, terminator: " ")
}