给你一个二叉树的根节点 root
, 检查它是否轴对称。
递归思路秒了:
class Solution {
public boolean isSymmetric(TreeNode root) {
if( root == null ) return true;
return check(root.left , root.right);
}
public boolean check(TreeNode r1 , TreeNode r2){
if( r1 == null && r2 == null ) return true;
else if( r1 == null ) return false;
else if( r2 == null ) return false;
else if( r1.val != r2.val) return false;
return check(r1.left , r2.right) && check(r1.right , r2.left);
}
}
给你一棵二叉树的根节点 root
,翻转这棵二叉树,并返回其根节点。
同上
class Solution {
public TreeNode invertTree(TreeNode root) {
if(root != null){
TreeNode left = root.left;
root.left = root.right;
root.right = left;
root.left = invertTree(root.left);
root.right = invertTree(root.right);
}
return root;
}
}