文章目录
- 1.题目
- 2.代码
1.题目
- 题目要求
- 思路
二叉树的中序遍历顺序为左-根-右
2.代码
class Solution{
public:
vector<int> result;
vector<int> inorderTraversal(TreeNode* root)
{
transefunction(root);
return result;
}
void transefunction(TreeNode* node){
if (!node) return;
transefunction(node->left);
result.push_back(node->val);
transefunction(node->right);
}
};
class Solution{
public:
vector<int> inorderTraversal(TreeNode* root)
{
vector<int> result;
stack<TreeNode*> stack_treenode;
TreeNode* p = root;
while (!stack_treenode.empty() || p!=NULL)
{
while (p)
{
stack_treenode.push(p);
p=p->left;
}
else
{
TreeNode* top_node=stack_treenode.top();
stack_treenode.pop();
result.push_back(top_node->val);
p=p->right;
}
}
return result;
}
};