code/leetcode/v1/symmetric
Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3] is symmetric:
1
/ \
2 2
/ \ / \
3 4 4 3
But the following [1,2,2,null,3,null,3] is not:
1
/ \
2 2
\ \
3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
1 | public class Symmetric { |
The base case is that if (root == null)
.
First divide the problem into smallest piece that we judge the node’s value equals or not.
Then we conquer the problem that the node left.left
equals right.right
and left.right
equals right.left
.
Reference
https://leetcode-cn.com/problems/symmetric-tree/submissions