判定两棵树是否严格镜像对称。

解决:

BFS

bool isSymmetric(TreeNode* root) {if (root == NULL)return true;deque<TreeNode*> now;now.push_back(root->left);now.push_back(root->right);while (now.size() > 0) {int size = now.size();for (int i = 0; i < size / 2; ++i) {int left = now[i]?now[i]->val:NULL;int right = now[size - i - 1]?now[size - i - 1]->val:NULL;if (left != right)return false;}for (int i = 0; i < size; ++i) {TreeNode* n = now.front();now.pop_front();if (n) {now.push_back(n->left);now.push_back(n->right);}}}return true;
}

DFS

bool isSymmetric(TreeNode* root) {if(root==NULL)return true;return dfs(root->left,root->right);}bool dfs(TreeNode *left, TreeNode* right){if(left==NULL || right ==NULL)return left==right;return (left->val==right->val) && dfs(left->left,right->right) && dfs(left->right,right->left);}

转载于:https://www.cnblogs.com/willaty/p/8338479.html

leetcode 101 Symmetric Tree相关推荐

  1. LeetCode 101. Symmetric Tree

    LeetCode 101. Symmetric Tree Solution1 参考<剑指offer>上的解法:https://blog.csdn.net/allenlzcoder/arti ...

  2. Leetcode: 101. Symmetric Tree

    题目 Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). Fo ...

  3. 【LeetCode 剑指offer刷题】树题6:28 对称二叉树(101. Symmetric Tree)

    [LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 101. Symmetric Tree /**  * Definition for a binary tree no ...

  4. 101. Symmetric Tree (C语言)

    101. Symmetric Tree (C语言) 判断是否为左右镜面对称的二叉树 题目 Given the root of a binary tree, check whether it is a ...

  5. leetcode python3 简单题101. Symmetric Tree

    1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第一百零一题 (1)题目 英文: Given a binary tree, chec ...

  6. LeetCode Algorithm 101. Symmetric Tree

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

  7. Leet Code OJ 101. Symmetric Tree [Difficulty: Easy]

    题目: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). F ...

  8. LeetCode OJ Symmetric Tree 判断是否为对称树(AC代码)

    思路: 主要判断左子树与右子树. 在判断左时,循环下去肯定会到达叶子结点中最左边的结点与最右边的结点比较. 到了这一步因为他们都没有左(右)子树了,所以得开始判断这两个结点的右(左)子树了. 当某个结 ...

  9. 【easy】101. Symmetric Tree

    判断一棵二叉树是否对称 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* T ...

最新文章

  1. ES6学习(五) -- 箭头函数
  2. mysql 分发_装配MySQL源代码分发
  3. 没抢到欧冠杯的票?没关系!在VR中看!
  4. U-Boot 提供的基本命令
  5. guava-collections
  6. 利用sshpass实现ansible功能
  7. Hadoop-Flume-类比吸尘器图解
  8. pyvex 的正确安装方式
  9. idea中使用逆向工程----三部曲
  10. 【报告分享】2020中国时尚跨境电商发展报告.pdf(附下载链接)
  11. 小顶堆时间复杂度_时间轮算法以及时间轮在Netty和Kafka中的应用的
  12. caffe(CPU版本)配置 及MNIST调用
  13. mmdetection的使用
  14. 谈谈创业这点事(8)
  15. iPad 被锁死后如何恢复出厂设置
  16. 华为android打开usb调试模式,华为P6 USB调试在哪 如何打开USB调试【详解】
  17. matlab--积分计算
  18. 一个dsp最小系统至少要有_DSP最小系统设计方案
  19. 《精力管理》读书笔记——第二部分
  20. 本以为能躺着进华为,结果陆续收到京东/滴滴/爱奇艺offer的我迷茫了

热门文章

  1. 十一.python面向对象(接口)abstractmethod,ABCMeta
  2. JavaScript 函数的定义
  3. Android Studio离线打包5+SDK
  4. Python使用MySQL数据库(新)
  5. 利用HTTP Cache来优化网站
  6. 事务管理最佳实践全面解析
  7. 神州易桥财税 java项目经理_【高级项目经理(体系运营)职责】2021年燕园财税高级项目经理(体系运营)岗位职责-看准网...
  8. 5G UE — UE 的位置信息
  9. Go 语言编程 — 高级数据类型 — Map 集合
  10. 互联网协议 — IPv4 互联网协议第 4 版