Title Description:
Given a binary tree, check whether it is a mirror of the itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / 2 2/\/3 4 4 3
But the following are not:
1 / 2 2 \ 3 3
Problem Solving Ideas:
Recursive method
The code is as follows:
/** * 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);}}}
Java [Leetcode 101]symmetric Tree