(LeetCode 101) Symmetric Tree
来源:互联网 发布:面试淘宝运营技巧 编辑:程序博客网 时间:2024/06/06 15:39
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
题意就是问一个二叉树是不是对称的。
solution:
直接使用广度搜索就可以解决了
迭代,我觉得,我的代码好像,有点长…
后面有彩蛋(递归版)
class Solution {public: queue<TreeNode> pleft; queue<TreeNode> pright; bool isSymmetric(TreeNode* root) { if(root==NULL)return true; pleft.push(*root); pright.push(*root); while(!pleft.empty()||!pright.empty()){ TreeNode tempLeft = pleft.front(); TreeNode tempRight = pright.front(); pleft.pop(); pright.pop(); TreeNode *Lleft =tempLeft.left; TreeNode *Lright = tempLeft.right; TreeNode *Rleft = tempRight.left; TreeNode *Rright = tempRight.right; if((Lleft!=NULL&&Rright==NULL)||(Lleft==NULL&&Rright!=NULL))return false; if((Lright!=NULL&&Rleft==NULL)||(Lright==NULL&&Rleft!=NULL))return false; if(Lleft!=NULL){ if(Lleft->val!=Rright->val)return false; pleft.push(*Lleft); pright.push(*Rright); } if(Lright!=NULL){ if(Lright->val!=Rleft->val)return false; pleft.push(*Lright); pright.push(*Rleft); } } if(pleft.empty()&&pright.empty())return true; return false; }};
翻到这里看的都是好孩子
class Solution {public: bool isSymmetric(TreeNode* root) { if(root==NULL)return true; return test(root->left,root->right); } bool test(TreeNode *left,TreeNode *right){ if(left==NULL&&right==NULL)return true; if(left!=NULL&&right!=NULL&&left->val==right->val){ return test(left->left,right->right)&&test(left->right,right->left); }else return false; }};
1 0
- LeetCode(101)Symmetric Tree
- LeetCode 101 Symmetric Tree
- LeetCode: Symmetric Tree [101]
- [leetcode 101] Symmetric Tree
- [LeetCode 101]Symmetric Tree
- leetcode-101 Symmetric Tree
- leetcode || 101、Symmetric Tree
- Leetcode[101]-Symmetric Tree
- leetcode[101]:Symmetric Tree
- LeetCode 101 Symmetric Tree
- leetcode 101 Symmetric Tree
- Leetcode# 101 Symmetric Tree
- leetcode 101: Symmetric Tree
- leetCode #101 Symmetric Tree
- leetcode-101-Symmetric Tree
- leetcode 101 Symmetric Tree
- LeetCode 101: Symmetric Tree
- 【LEETCODE】101-Symmetric Tree
- 贪心算法作业之磁带最优存储问题与磁盘文件最优存储问题
- 面试题06:在二元树中找出和为某一值的所有路径(未完待续)
- MySQL索引原理
- 9.1.4 什么样数据类型可以打包和解包
- 博客搬家 -- 将博客从CSDN迁移到hexo上
- (LeetCode 101) Symmetric Tree
- CommandInvokationFailure: Failed to re-package resources. See the Console for details.
- java访问修饰符
- leetcode——链表reorder
- CMake 调用 Shell 脚本
- activity间传递数据
- 1001 and 1002 of search
- unix环境高级编程第三版环境配置
- android studio module上传到jcenter