和前面前序遍历差不多
#include<iostream>
#include<vector>
using namespace std;
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode() : val(0), left(nullptr), right(nullptr) {}
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
};
class Solution {
public:
void inorder(TreeNode* root, vector<int>& res) {
if (root == nullptr) {
return;
}
inorder(root->left, res);
res.push_back(root->val);
inorder(root->right, res);
}
vector<int> inorderTraversal(TreeNode* root) {
vector<int> res;
inorder(root, res);
return res;
}
};
int main() {
Solution test;
TreeNode* c = new TreeNode(3);
TreeNode* b = new TreeNode(2, c, nullptr);
TreeNode* a = new TreeNode(1, nullptr, b);
vector<int>ans = test.inorderTraversal(a);
for (int i = 0; i < ans.size(); i++) {
cout << ans[i];
}
}