226. Invert Binary Tree
2016-03-14 13:14
323 查看
/** * 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: TreeNode* invertTree(TreeNode* root) { if(!root) return root; stack<TreeNode*> s1; s1.push(root); while(!s1.empty()) { TreeNode* a=s1.top(); TreeNode* b=a->left; a->left=a->right; a->right=b; s1.pop(); if(a->left) s1.push(a->left); if(a->right) s1.push(a->right); } return root; } }; /** * 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: TreeNode* invertTree(TreeNode* root) { if(!root) return NULL; TreeNode* a=root->left; root->left=invertTree(root->right); root->right=invertTree(a); return root; } };
相关文章推荐
- 217. Contains Duplicate
- Android Studio导入第三方jar包
- JSON.parse()和JSON.stringify() 的用法区别
- Android布局适配中一些显示问题
- uva 10891 Game of Sum
- 51Nod--1384全排列
- 206. Reverse Linked List
- 205. Isomorphic Strings
- 189. Rotate Array
- 172. Factorial Trailing Zeroes
- javascript处理日期
- 每个架构师都应该研究下康威定律
- FSMC相关知识
- Django的时区问题
- strace,ltrace linux下跟踪进程调用的命令
- test
- Python IDE
- 171. Excel Sheet Column Number
- 169. Majority Element
- 160. Intersection of Two Linked Lists