Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).

Example 1:

symtree1

  • Input: root = [1,2,2,3,4,4,3]
  • Output: true

Example 2:

symtree2

  • Input: root = [1,2,2,null,3,null,3]
  • Output: false

Constraints:

  • The number of nodes in the tree is in the range [1, 1000].
  • -100 <= Node.val <= 100

Follow up: Could you solve it both recursively and iteratively?