题目描述:
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / 2 2 / \ / 3 4 4 3
But the following is not:
1 / 2 2 \ 3 3
解题思路:
递归法
代码如下:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isSymmetric(TreeNode root) { if(root == null) return true; return isMirror(root.left, root.right); } public boolean isMirror(TreeNode left, TreeNode right){ if(left == null && right == null) return true; else if(left == null) return false; else if(right == null) return false; else{ if(left.val != right.val) return false; return isMirror(left.right, right.left) && isMirror(left.left, right.right); } } }
时间: 2024-10-05 04:43:38