【LeetCode-94】Binary Tree Inorder Traversal(C++)
来源:互联网 发布:警方破获网络赌球案 编辑:程序博客网 时间:2024/05/21 06:12
题目要求:完成二叉树的中序遍历。
解题方法:
1.递归。
/** * 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: vector<int> inorderTraversal(TreeNode* root) { vector<int> v; if(root==NULL) return v; v=inorderTraversal(root->left); v.push_back(root->val); vector<int> vr=inorderTraversal(root->right); for(int i=0;i<vr.size();i++){ v.push_back(vr[i]); } return v; }};
2.循环的方式(题目要求用循环方式来做)
用栈来保存遍历过的节点。
/** * 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: vector<int> inorderTraversal(TreeNode* root) { vector<int> v; if(root==NULL) return v; stack<TreeNode*> s; TreeNode* p=root; while(p){ s.push(p); p=p->left; } while(!s.empty()){ p=s.top(); s.pop(); v.push_back(p->val); if(p->right){ p=p->right; while(p){ s.push(p); p=p->left; } } } return v; }};
0 0
- [leetcode-94]Binary Tree Inorder Traversal(c++)
- 【LeetCode-94】Binary Tree Inorder Traversal(C++)
- [C++]LeetCode: 48 Binary Tree Inorder Traversal
- #LeetCode# #C++# Binary Tree Inorder Traversal
- [leetcode 94] Binary Tree Inorder Traversal
- Leetcode NO.94 Binary Tree Inorder Traversal
- leetcode-94 Binary Tree Inorder Traversal
- leetcode || 94、Binary Tree Inorder Traversal
- Binary Tree Inorder Traversal - LeetCode 94
- Leetcode[94]-Binary Tree Inorder Traversal
- leetcode(94):Binary Tree Inorder Traversal
- leetcode-94-Binary Tree Inorder Traversal
- Leetcode 94 Binary Tree Inorder Traversal
- leetcode[94]:Binary Tree Inorder Traversal
- LeetCode(94) Binary Tree Inorder Traversal
- Leetcode # 94 Binary Tree Inorder Traversal
- leetcode 94: Binary Tree Inorder Traversal
- leetcode-94:Binary Tree Inorder Traversal (Java)
- Quartz.NET教程_Lesson 11&Lesson 12(完)
- 修桥问题
- Field requires API level 5 (current min is 1): android.util.Pair#first
- 【安卓学习之常见问题】 ScrollView与其他组件的冲突问题
- 2016年阿里校招笔试题(JAVA研发岗)
- 【LeetCode-94】Binary Tree Inorder Traversal(C++)
- android学习第一天
- MFC软件运行时按下回车或ESC闪退问题的解决
- java.输出数字
- Strman-java – 好用的字符串处理工具
- poj 3268 Silver Cow Party
- C++学习笔记(一)
- Linux sort,uniq,cut,wc命令详解
- 如何在Google成为一名优秀的产品经理?