100、101、104-递归
来源:互联网 发布:web原型设计工具 知乎 编辑:程序博客网 时间:2024/05/16 10:54
类别:depth first search
难度:easy
100-Same Tree
给定两棵树的根节点,判断两棵树是否相同
只需要对空节点进行判断,然后分别递归判断左子树和右子树即可
class Solution {public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p == NULL && q == NULL) return true; if (p == NULL && q != NULL) return false; if (p != NULL && q == NULL) return false; if (p->val != q->val) return false; return isSameTree(p->left, q->left) && isSameTree(p->right, q->right); }};
101-Symmetric Tree
判断一棵树是不是对称的二叉树
需要判断左子树的左节点的数值和右子树的右节点的数值是否相同以及左子树的右节点和右子树的左节点的数值是否相同
class Solution {public: bool isSymmetric(TreeNode* root) { if (root == NULL) return true; return isSym(root->left, root->right); } bool isSym(TreeNode* left, TreeNode* right) { if (left == NULL && right == NULL) return true; if (left == NULL && right != NULL) return false; if (left != NULL && right == NULL) return false; if (left->val != right->val) return false; return isSym(left->left, right->right) && isSym(left->right, right->left); }};
104-Maximum Path of Binary Tree
得到二叉树的最大深度
递归左子树的深度和右子树的深度,然后取最大值即可
class Solution {public: int maxDepth(TreeNode* root) { if (root == NULL) return 0; return max(maxDepth(root->left) + 1, maxDepth(root->right)+1); }};
阅读全文
0 0
- 100、101、104-递归
- 1到100递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- ListView限制最大显示高度笔记
- JavaScript中的跨域总结
- python3爬虫(三) BeautifulSoup模块的安装和介绍
- RadioGroup组件拖到按钮上方出现一个点而不是方框,
- 2017哈理工低年级组院赛决赛 I-幸运大奖
- 100、101、104-递归
- 用 C 语言画科赫雪花
- LeetCode —— 14. Longest Common Prefix解题思路
- MyBatis批量处理Oracle数据库数据
- Java面试题全集(下)
- Longest Valid Parentheses:最长括号子段匹配
- 红米1S的android 4.4.4刷机到android 7.1的Lineage OS 14.1
- idea 创建Web Service Client 报错 java.lang.AssertionError: org.xml.sax.SAXParseException; systemId:
- [BZOJ2746]-[HEOI2012]旅行问题-fail树+倍增LCA