博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LeetCode 100_二叉树_遍历】Same Tree
阅读量:6954 次
发布时间:2019-06-27

本文共 1114 字,大约阅读时间需要 3 分钟。

解法一:递归

1 bool isSameTree(TreeNode* p, TreeNode* q) 2 { 3     if (p == NULL && q == NULL) 4         return true; 5     if ((p == NULL && q != NULL) || (p != NULL && q == NULL)) 6         return false; 7     if (p->val != q->val) 8         return false; 9 10     if (!isSameTree(p->left, q->left) || !isSameTree(p->right, q->right))11         return false;12 13     return true;14 }

解法二:非递归

1 bool isSameTree(TreeNode* p, TreeNode* q) 2 { 3     queue
> pq_queue; 4 pq_queue.push(make_pair(p, q)); 5 6 while (!pq_queue.empty()) { 7 TreeNode *pTmp = pq_queue.front().first; 8 TreeNode *qTmp = pq_queue.front().second; 9 pq_queue.pop();10 11 if (pTmp == NULL && qTmp == NULL)12 continue;13 if (pTmp == NULL || qTmp == NULL)14 return false;15 if (pTmp->val != qTmp->val)16 return false;17 18 pq_queue.push(make_pair(pTmp->left, qTmp->left));19 pq_queue.push(make_pair(pTmp->right, qTmp->right));20 }21 return true;22 }

 

转载于:https://www.cnblogs.com/mengwang024/p/4622847.html

你可能感兴趣的文章
IOS UIView直接响应点击事件的解决方法
查看>>
斯坦福NLP笔记6 —— Defining Minimum Edit Distance
查看>>
关于编辑区无法调用chekbox的问题
查看>>
VMware基础架构和运营管理
查看>>
爱不意味这“sorry”
查看>>
四、 vSphere 6.7 U1(四):部署VCSA
查看>>
apper安卓×××
查看>>
大型网站技术架构(一)大型网站架构演化
查看>>
Log4j 1使用教程
查看>>
如何将PDF转换成Word
查看>>
svn配置
查看>>
ActiveMQ快速入门
查看>>
plusgantt的项目管理系统实战开发最全课程
查看>>
vlan理论03-vlan映射
查看>>
Linux终端的总结和shell
查看>>
在Linux下使用命令发送邮件附件
查看>>
DNS bind
查看>>
Java8 十大新特性详解
查看>>
Maven学习总结(五)——聚合与继承
查看>>
MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
查看>>