100. Same Tree
来源:互联网 发布:珠三角物流网络 编辑:程序博客网 时间:2024/06/05 04:53
Title
Given 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.
Solutions
- 递归
/** * 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 isSameTree(TreeNode* p, TreeNode* q) { /*1. both empty */ if(p==NULL && q == NULL) { return true; } /* 2. both non-empty -> compare them */ if(p!=NULL && q!=NULL){ return ((p->val==q->val) && isSameTree(p->left, q->left) && isSameTree(p->right, q->right)); } /* 3. one empty, one not -> false */ return false; }};
/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */bool isSameTree(struct TreeNode* p, struct TreeNode* q) { if (p == NULL && q == NULL) { return true; } if (p == NULL || q == NULL) { return false; } return (p->val == q->val) && isSameTree(p->left, q->left) && isSameTree(p->right, q->right);}
runtime: 4ms
Algorithm
两二叉树,是否结构/元素都相同
isSameTree(TreeNode* p, TreeNode* q):
- If both trees are empty then return 1.
- Else If both trees are non -empty
(a) Check data of the root nodes (p->val==q->val)
(b) Check left subtrees recursively i.e., call isSameTree(p->left, q->left)
(c) Check right subtrees recursively i.e., call isSameTree(p->right, q->right)
(d) If a,b and c are true then return 1. - Else return 0 (one is empty and other is not)
0 0
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 100.Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- 100.Same Tree
- 100. Same Tree
- 100.Same Tree
- 100. Same Tree
- 100. Same Tree
- 100. Same Tree
- leetCode 100. Same Tree
- 100. Same Tree
- [LeetCode]100. Same Tree
- 欢迎使用CSDN-markdown编辑器
- muduo : TcpServer
- Tomcat的8005、8009,8080端口解释
- 文件操作
- Oracle/SQL 修改字段类型和长度
- 100. Same Tree
- poj 1251
- 2629 Identity Card
- DrawerLayout禁用侧边滑动
- 【52】正则表达式匹配
- Mancher求最大回文子串 Hdu 3068
- nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )
- android开发 弹出权限提示框 检查是否具有某个权限
- Python网络数据采集7(译者:哈雷)