Given the roots of two binary trees p and q, return true if the trees are structurally identical and every pair of corresponding nodes holds the same value, and false otherwise.
Each tree is given in level-order (TreeNode with { val, left, right }, null for a missing child).
[1,2,3], [1,2,3][1,2], [1,null,2][1,2,1], [1,1,2][], [][1], [][1,2,3,4,5], [1,2,3,4,5][5,4,8,11,null,13,4], [5,4,8,11,null,13,4]