Given the roots of two binary trees root and subRoot, return true if root contains a subtree whose shape and node values exactly match subRoot, and false otherwise.
A subtree of a tree is any node in that tree together with all of its descendants. The whole tree counts as a subtree of itself.
Both trees are given in level-order (TreeNode with { val, left, right }, null for a missing child).
[3,4,5,1,2], [4,1,2][3,4,5,1,2,null,null,null,null,0], [4,1,2][1,1], [1][1,2,3], [4][3,4,5,1,2], [3,4,5,1,2][1], [1][1,2], [2]