算法作业_39(2017.6.21第十八周)
来源:互联网 发布:战舰世界挂机软件 编辑:程序博客网 时间:2024/06/02 02:12
101. Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3]
is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following [1,2,2,null,3,null,3]
is not:
1 / \ 2 2 \ \ 3 3
解析:给定一颗二叉树,判断是否对称。可以使用递归求解,先判断左右子节点是否相等,不相等就返回false,如果相等就比较 左孩子的左子树 和右孩子的右子树是否相等,同时比较 左孩子的右子树和右孩子的左子树是否相等。
/** * 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 { private: bool isSame(TreeNode* left ,TreeNode* right){ if(left == NULL && right == NULL) return true ; if((left != NULL && right == NULL) || (left == NULL && right != NULL) || (left->val != right->val)) return false ; return isSame(left->left,right->right) && isSame(left->right,right->left); }public: bool isSymmetric(TreeNode* root) { if(root == NULL) return true ; return isSame(root->left,root->right); }};
阅读全文
0 0
- 算法作业_39(2017.6.21第十八周)
- 算法作业_37(2017.6.19第十八周)
- 算法作业_38(2017.6.20第十八周)
- 算法作业_40(2017.6.22第十八周)
- 算法作业_41(2017.6.24第十八周)
- 算法第十八周作业01
- 第十八周作业 1.0
- 算法设计与结构基础作业第十八周
- 算法课第十八周作业 | Course Schedule II
- 算法课第十八周Same Tree
- leetcode第十八周解题总结-贪心算法
- 第十八周
- 第十八周
- 第十八周算法分析与设计:Add Two Numbers
- 算法作业_25(2017.6.1第十五周)
- 算法作业_26(2017.6.6第十六周)
- 算法作业_27(2017.6.8第十六周)
- 算法作业_28(2017.6.8第十六周)
- Linux 分区挂载
- 011--swift中的闭包
- ImageNet 中的Top-1与Top-5
- python 特殊函数
- solr6.0 添加中文分词器 IK-Analyzer
- 算法作业_39(2017.6.21第十八周)
- 【Mybatis】Date型和String型的时间类型和格式转换
- node install.js报错
- Python学习之旅-17
- C语言指针数组与数组指针
- Java后端开发
- Android Studio:多包名打包
- win7以上OPCClient同域连接OPCServer所需要的环境配置
- 24岁小朋友,生日快乐!