https://machine-learning-made-simple.medium.com/coding-interviews-problem-1-invert-a-binary-tree-google-d176b3ea4133