原题
思路
我总共有两种思路
1、递归
2、中序遍历输出,根据长度判断深度,每一层都是一个回文数。
代码
class Solution {
public boolean isSymmetric(TreeNode root) {
if (root == null) {
return false;}return dfs(root.left, root.right);}private boolean dfs(TreeNode left, TreeNode right) {
if (left == null && right == null) {
return true;} else if (left == null || right == null) {
return false;} else if (left.val != right.val) {
return false;}return dfs(left.left, right.right) && dfs(left.right, right.left);}
}