Given two binary trees, explain how you would create a diff such that if you have that diff and either of the trees you should be able to generate the other binary tree. Implement a function which takes TreeNode tree1, TreeNode tree2 and returns that diff.