一:题目

二:上码

/*** 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)相关推荐

  1. 【LeetCode】【HOT】101. 对称二叉树(BFS+队列/递归)

    [LeetCode][HOT]101. 对称二叉树 文章目录 [LeetCode][HOT]101. 对称二叉树 package hot;class TreeNode{int val;TreeNode ...

  2. [leetcode] 101. 对称二叉树

    101. 对称二叉树 一开始想复杂了呀,没有做出来 直观的思路就是反转这颗树,然后判断两颗树是不是相同的 class Solution {// 反转并创建一颗树public TreeNode reve ...

  3. 101. 对称二叉树 golang

    101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,nu ...

  4. 代码随想录算法训练营第15天,102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

    102.二叉树的层序遍历.226.反转二叉树.101.对称二叉树 102.二叉树的层序遍历 二叉树的层次遍历,我们可以定义一个队列, 当访问到某一个节点时,我们将它存在的左右节点放入队列中,便可达到按 ...

  5. 代码随想录算法训练营day15 | 102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

    102. 二叉树的层序遍历 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {de ...

  6. 101. 对称二叉树

    101. 对称二叉树 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1/ \ 2 2/ \ / \ 3 4 4 3 但是下面这个 [1,2,2,n ...

  7. 代码随想录算法训练营第十五天 | 102. 二叉树的层序遍历 | 226.翻转二叉树 | 101. 对称二叉树

    递归三部曲 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 102. 二叉树的层序遍历 题解及想法 解法一 :递归法 class Solution {public List<Lis ...

  8. 代码随想录算法训练营第十三天|102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

    链接:代码随想录 文章目录 102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 解题方法 题目思路 示例代码 总结 解题思路 1.102.二叉树的层次遍历 解题思路 递归法,创立二维数组 ...

  9. 代码随想录算法训练营第十五天| 102层序遍历、226.翻转二叉树、101. 对称二叉树

    层序遍历 参考文章:代码随想录 解题思路: 层序遍历一个二叉树.就是从左到右一层一层的去遍历二叉树.这种遍历的方式和我们之前讲过的都不太一样. 需要借用一个辅助数据结构即队列来实现,队列先进先出,符合 ...

最新文章

  1. 响应式布局设备分界点
  2. 数据结构----数组与广义表专题
  3. 科大星云诗社动态20220106
  4. 唐骏《我的成功也可以复制》1,盖婚房
  5. 币安布局去中心化交易所,原来是因为这三个原因!
  6. POJ 1671 第二类斯特林数
  7. 如何将自开发的SAP UI5应用以tile的方式配置到SAP Fiori Launchpad里
  8. php入门05-会话控制(session与cookie)
  9. mysql 数据库 额外_Manager额外参数怎么学?mysql数据库学习
  10. E2017E0605-hm
  11. LeetCode 1109. 航班预订统计(差分思想)
  12. ladp3 获取属性_Ldap3库使用方法(四)
  13. Java并发编程笔记—基础知识—实用案例
  14. python加上子类的特性_Python里的元编程:控制产生的实例对象的特性以及实例
  15. vscode 背景图片的设置
  16. [转]网友monkeylarry研究生期间我们应该做什么
  17. [android界面]android中src和background区别——前景与背景
  18. Cross-compiling Apache httpd 2.2.19 for uclibc
  19. 读《UNIX 编程艺术》
  20. 360无线网卡驱动 linux驱动,小度Wifi、360Wifi Windows、linux驱动

热门文章

  1. Nginx—— Rewrite规则的使用
  2. 史上最全的Visual Studio Code安装C/C++环境,若不行头砍给你。
  3. Android之popWindows底部弹出挡住了华为虚拟键盘问题
  4. Android之进程与线程的讲解
  5. Android之万能适配器Adapter的使用
  6. python包实际怎么使用_Python--模块与包
  7. aop在项目中的实际运用_【消防验收】防火玻璃在实际运用中的四大关键问题
  8. 八类网线和七类网线的区别_什么是七类网线?七类网线水晶头如何制作?
  9. wpsppt流程图联系效果_风险隐患排查的手段—HAZOP 与检查表的区别及应用效果
  10. 编程到底难在哪里? 从一个美国实习生的故事说起