101. Symmetric Tree
来源:互联网 发布:2017英国大学 知乎 编辑:程序博客网 时间:2024/06/04 18:27
题目:
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).
For example, this binary tree [1,2,2,3,4,4,3]
is symmetric:
1 / \ 2 2 / \ / \3 4 4 3
But the following [1,2,2,null,3,null,3]
is not:
1 / \ 2 2 \ \ 3 3
Note:
Bonus points if you could solve it both recursively and iteratively.
/** * 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: //use recursion bool isSymmetric(TreeNode* root) { return root == NULL || help(root->left, root->right); } bool help(TreeNode* r1, TreeNode* r2){ if(r1 == NULL || r2 == NULL)//这两行很巧妙要注意运用。 return r1 == r2; if(r1->val !=r2->val)return false; return help(r1->left, r2->right) && help(r1->right, r2->left); } // use stack bool isSymmetric(TreeNode* root) { if(root == NULL)return true; //if((root->left == NULL || root->right == NULL) && root->left != root->right) return false; stack<TreeNode*> s; s.push(root->left); s.push(root->right); TreeNode* lv; TreeNode* rv; while(!s.empty()){ lv = s.top(); s.pop(); rv = s.top(); s.pop(); if(lv == NULL && rv == NULL ) continue;//注意 这里不能用 if(r1 == NULL || r2 == NULL) return r1 == r2; if(lv == NULL || rv == NULL) return false; else{ if(lv->val != rv->val) return false; s.push(lv->right); s.push(rv->left); s.push(lv->left); s.push(rv->right); } } return true; }};
0 0
- LeetCode 101. Symmetric Tree
- [LeetCode]101.Symmetric Tree
- 【LeetCode】101.Symmetric Tree
- [Leetcode] 101. Symmetric Tree
- LeetCode --- 101. Symmetric Tree
- [leetcode] 101.Symmetric Tree
- 101.Symmetric Tree
- 101. Symmetric Tree
- LeetCode : 101. Symmetric Tree
- [leetcode]101.Symmetric Tree
- Leetcode 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree LeetCode
- 101. Symmetric Tree
- 101. Symmetric Tree
- 101. Symmetric Tree
- [LeetCode]101. Symmetric Tree
- Nginx / LVS / HAProxy 负载均衡性能及优缺点探讨
- CODE[VS] 2645 Spore SPFA
- (三)Ubuntu14.04 安装CUDA
- windows与Linux系统下的SSE、AVX、定点化优化
- 几个sql语句
- 101. Symmetric Tree
- 海航60亿美元拿下英迈,有望进阶世界100强!
- unity 相机截屏
- CDOJ 1292 卿学姐种花(分块)
- Ember 翻译——入门一:快速开始
- CSDN验证码的漏洞
- API 25 (Android 7.1.1 API) widget.AbsSpinner
- Android colorPrimary colorPrimaryDark colorAccent
- Retrofit使用及分析