【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree
題目
1.same treeGiven two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
2.symmetric treeGiven 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 3But the following is not:
Note:
Bonus points if you could solve it both recursively and iteratively.
代碼
/*** Definition for binary tree* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ public class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if(p==null && q==null) return true;if(p==null || q==null || q.val!=p.val ) return false;if(isSameTree(p.left,q.left)==false || isSameTree(p.right,q.right)==false) return false;return true;} }
/*** Definition for binary tree* 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 isEquel(root.left,root.right);}public boolean isEquel(TreeNode root1,TreeNode root2){if(root1==null && root2==null) return true; if(root1==null || root2==null) return false;if(root1.val!=root2.val) return false;return isEquel(root1.left,root2.right) && isEquel(root2.left,root1.right); } }
代碼下載:https://github.com/jimenbian/GarvinLeetCode
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
總結
以上是生活随笔為你收集整理的【LeetCode从零单排】No100 Same Tree No101 Symmetric Tree的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode从零单排】No83 R
- 下一篇: 【LeetCode从零单排】No102