"101-symmetric tree (symmetric trees)"
"leetcode-Interview algorithm classic-java Implementation" "All Topics folder Index"
Original Question
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 \ 3 4 4 3
But the following are not:
1 2 2 \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
Main Topic
Given a tree, infer whether it is symmetrical.
That is, whether the tree's Zuozi is a mirror image of its right subtree.
Thinking of solving problems
Use recursion for solving. First infer whether the left and right sub-nodes are equal and return false. Equal to the Zuozi of the left Dial hand node and the right child result of the right sub-node comparison operation, at the same time the Zuozi of the left Dial hand node and the right sub-node of the left sub-tree comparison, only two at the same time is really just return true. Otherwise, false is returned.
Code Implementation
Tree Node class
publicclass TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}
Algorithm implementation class
Public classSolution { PublicBoolean issymmetric (TreeNode root) {if(Root = =NULL) {returntrue; }Else{return issame (root). Left, Root. Right); } }PrivateBoolean Issame (TreeNode Left, TreeNode Right) {if( Left==NULL&& Right==NULL) {returntrue; }if( Left!=NULL&& Right==NULL|| Left==NULL&& Right!=NULL) {returnfalse; }Else{return Left. val = = Right. Val && Issame ( Left. Left, Right. Right) && Issame ( Left. Right, Right. Left); } }}
Assessment Results
Click on the picture, the mouse does not release. Drag a section of the position. After release, view the full picture in the new form.
Special Instructions
Welcome reprint. Reprint Please specify the source "http://blog.csdn.net/derrantcm/article/details/47333335"
"Leetcode-Interview algorithm classic-java implementation" "101-symmetric Tree (symmetric tree)"