LeetCode:Symmetric Tree(循环版)
2015-09-30 12:26
477 查看
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool isSymmetric(TreeNode* root) { stack<TreeNode*> sTl,sTr; TreeNode* l = root,*r = root; while(l || r || !sTl.empty() || !sTr.empty()){ if(l || r){ if( l == nullptr || r == nullptr || l->val != r->val ) return false; sTl.push(l); sTr.push(r); l = l->left; r = r->right; } else { TreeNode* tL = sTl.top(); TreeNode* tR = sTr.top(); if(tL->val != tR->val ) return false; sTl.pop(); sTr.pop(); l = tL->right; r = tR->left; } } return true; } };
相关文章推荐
- Different Ways to Add Parentheses
- UVa 12459 - Bees' ancestors
- Openssl加密文件及创建私有CA及证书
- 1px图片的Crash
- linux下时间同步的方法
- 服务器系列(1)-Linux配置FTP
- 给初学linux运维人员的一些个人建议
- Linux服务-自建CA
- redis的备份
- Android获取联系人电话实验
- MyEclipse 添加MyBatis generator插件
- “No 'Access-Control-Allow-Origin' header is present on the requested resource”
- android中部分资源的应用
- 浅谈Javascript中substr和substring的区别
- Java StringBuilder 清空Clear方法
- Android——apk反编译
- [翻译]AKKA笔记 - LOGGING与测试ACTORS -2 (一)
- Unix高级环境编程
- Grub的使用及修复帮助
- linux sed命令详解