题目描述
解题思路:不好想,需要新的函数进行判断左右子树是否镜像
解题代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSymmetric(TreeNode root) {
if(root == null){
return true;
}
return dfs(root.left , root.right);
}
boolean dfs(TreeNode Lleft, TreeNode Lright) {
if (Lleft == null && Lright == null) {
return true;
}
if (Lleft == null || Lright == null || Lleft.val != Lright.val) {
return false;
}
return dfs(Lleft.left, Lright.right) && dfs(Lleft.right, Lright.left);
}
}