Symmetric Tree
来源:互联网 发布:手机转区软件 编辑:程序博客网 时间:2024/05/29 16:52
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
This problem can be solve by using a simple recursion. The key is finding the conditions that return false, such as value is not equal, only one node(left or right) has value.
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool helper(TreeNode* l, TreeNode* r) { if(l == NULL && r == NULL) { return true; } if(l != NULL && r != NULL) { if(l -> val != r -> val) { return false; } return helper(l -> left, r -> right) && helper(l -> right , r -> left); }else { return false; } } bool isSymmetric(TreeNode* root) { if(root == NULL) { return true; } return helper(root -> left, root -> right); }};
0 0
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Hdu 2015 Multi-University Training Contest6
- eclipse从数据库逆向生成Hibernate实体类
- FileToData与DataToFile(优化版,txt为原始文件2倍大小)
- 一次「Too many open files」故障
- Codeforces 567 E. President and Roads
- Symmetric Tree
- Java动态代理实现(简单AOP实现)
- ViewPager findViewById错误NullPointerException
- Linux常用命令汇总
- 嵌入式linux之NOR FLASH驱动
- 谷歌镜像
- Android视频录制命令screenrecord
- C# Unicode 编码转换
- VRS Linux环境