leetcode101.SymmetricTree
2016-03-10 22:30
274 查看
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
But the following is not:
Note:
Bonus points if you could solve it both recursively and iteratively.
解题思路:判断一棵树是不是一个对称的二叉树,在这里给出了两个思路。一种是递归,一种是进行迭代。
对两颗子树分别进行判断:
代码如下:
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \ 3 4 4 3
But the following is not:
1 / \ 2 2 \ \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
解题思路:判断一棵树是不是一个对称的二叉树,在这里给出了两个思路。一种是递归,一种是进行迭代。
对两颗子树分别进行判断:
代码如下:
/** * 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 isSymmetric(TreeNode* root) { if (root==NULL) return true; return isSame(root.left,root.right); } bool isSame(TreeNode * left1,TreeNode * right1) { if(left1==right1==NULL) return true; if(left1==NULL||right1==NULL) return false; if(left1->left!=right1->right) return false; bool isleft=isSame(left1->left1,right1->right); bool isright=isSame(left1->right,right1->left); retrun isleft&&isright; } };
相关文章推荐
- 树莓派折腾录二. QT5.7在树莓派3上的安装(Raspberry Pi 3 model B)
- 练习题2
- Java递归算法实例
- 自己实现strlen函数
- 用户与组管理
- Java中的流与文件:流
- c_c++
- Python开发简单爬虫
- 怎样在Delphi2007中安装OCX控件
- UITableView介绍 之下拉刷新原理
- Fragment回调了onResume方法却并没有进去前台可见
- 深入理解Java 虚拟机(周志明)笔记(五)——垃圾收集器(三)
- 读《我是一只IT小小鸟》有感
- 《《我是一只IT小小鸟》》读后感
- iOS学习 UITableView 单选
- [matlab]并行编程
- 机器学习(二)--决策树
- eclipse启动后闪退
- 软件测试2
- 练习题1