0
点赞
收藏
分享

微信扫一扫

5.1.2二叉树的中序遍历


文章目录

  • ​​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;
}

};


举报

相关推荐

0 条评论