101. 对称二叉树023(BFS)
一:题目
二:上码
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {public:bool isSymmetric(TreeNode* root) {if(root == NULL) return true;queue<TreeNode*> q;q.push(root->left);q.push(root->right);while(!q.empty()){//注意这里我们不能 q.empty() != NULL 因为我们在队列中也装入了空指针//比较我们的装入队列的两个结点(指针)TreeNode* leftroot = q.front();q.pop();//访问完一个删除一个TreeNode* rightroot = q.front();q.pop();if(leftroot == NULL && rightroot == NULL)//递归到根节点的时候 直接跳过 去遍历下一组数据continue;if(leftroot == NULL && rightroot != NULL)return false;if(rightroot == NULL && leftroot != NULL)return false;if(rightroot != NULL && leftroot != NULL && (rightroot->val != leftroot->val))return false;//下面的意思就是 装入队列的结点的顺序 下次遍历 做准备q.push(leftroot->left);//装入左子树左节点q.push(rightroot->right);//装入右子树右结点q.push(leftroot->right);//装入左子树右节点q.push(rightroot->left);//装入右子树左节点 }return true;}
};
101. 对称二叉树023(BFS)相关推荐
- 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)
[LeetCode][HOT]101. 对称二叉树 文章目录 [LeetCode][HOT]101. 对称二叉树 package hot;class TreeNode{int val;TreeNode ...
- [leetcode] 101. 对称二叉树
101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...
- 101. 对称二叉树 golang
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,nu ...
- 代码随想录算法训练营第15天,102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
102.二叉树的层序遍历.226.反转二叉树.101.对称二叉树 102.二叉树的层序遍历 二叉树的层次遍历,我们可以定义一个队列, 当访问到某一个节点时,我们将它存在的左右节点放入队列中,便可达到按 ...
- 代码随想录算法训练营day15 | 102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树
102. 二叉树的层序遍历 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {de ...
- 101. 对称二叉树
101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \ 2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,n ...
- 代码随想录算法训练营第十五天 | 102. 二叉树的层序遍历 | 226.翻转二叉树 | 101. 对称二叉树
递归三部曲 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 102. 二叉树的层序遍历 题解及想法 解法一 :递归法 class Solution {public List<Lis ...
- 代码随想录算法训练营第十三天|102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
链接:代码随想录 文章目录 102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 解题方法 题目思路 示例代码 总结 解题思路 1.102.二叉树的层次遍历 解题思路 递归法,创立二维数组 ...
- 代码随想录算法训练营第十五天| 102层序遍历、226.翻转二叉树、101. 对称二叉树
层序遍历 参考文章:代码随想录 解题思路: 层序遍历一个二叉树.就是从左到右一层一层的去遍历二叉树.这种遍历的方式和我们之前讲过的都不太一样. 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合 ...
最新文章
- 响应式布局设备分界点
- 数据结构----数组与广义表专题
- 科大星云诗社动态20220106
- 唐骏《我的成功也可以复制》1,盖婚房
- 币安布局去中心化交易所,原来是因为这三个原因!
- POJ 1671 第二类斯特林数
- 如何将自开发的SAP UI5应用以tile的方式配置到SAP Fiori Launchpad里
- php入门05-会话控制(session与cookie)
- mysql 数据库 额外_Manager额外参数怎么学?mysql数据库学习
- E2017E0605-hm
- LeetCode 1109. 航班预订统计(差分思想)
- ladp3 获取属性_Ldap3库使用方法(四)
- Java并发编程笔记—基础知识—实用案例
- python加上子类的特性_Python里的元编程:控制产生的实例对象的特性以及实例
- vscode 背景图片的设置
- [转]网友monkeylarry研究生期间我们应该做什么
- [android界面]android中src和background区别——前景与背景
- Cross-compiling Apache httpd 2.2.19 for uclibc
- 读《UNIX 编程艺术》
- 360无线网卡驱动 linux驱动,小度Wifi、360Wifi Windows、linux驱动
热门文章
- Nginx—— Rewrite规则的使用
- 史上最全的Visual Studio Code安装C/C++环境,若不行头砍给你。
- Android之popWindows底部弹出挡住了华为虚拟键盘问题
- Android之进程与线程的讲解
- Android之万能适配器Adapter的使用
- python包实际怎么使用_Python--模块与包
- aop在项目中的实际运用_【消防验收】防火玻璃在实际运用中的四大关键问题
- 八类网线和七类网线的区别_什么是七类网线?七类网线水晶头如何制作?
- wpsppt流程图联系效果_风险隐患排查的手段—HAZOP 与检查表的区别及应用效果
- 编程到底难在哪里? 从一个美国实习生的故事说起