day 7.1: 94-binary-tree-inorder-traversal

This commit is contained in:
Kaushik Narayan R 2023-10-02 17:58:10 -07:00
parent 81bd6f46c3
commit 32366c1e21
3 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,11 @@
#include "soln.hpp"
int main()
{
TreeNode n3 = TreeNode(3);
TreeNode n2 = TreeNode(2, &n3, nullptr);
TreeNode n1 = TreeNode(1, nullptr, &n2);
Solution soln;
cout << "Inorder traversal correct? " << soln.test(&n1, vector<int>{1, 3, 2}) << endl;
return 0;
}

View File

@ -0,0 +1,19 @@
#include "soln.hpp"
vector<int> Solution::inorderTraversal(TreeNode *root)
{
vector<int> tmp;
if (root != nullptr)
{
vector<int> tmp_left = inorderTraversal(root->left);
vector<int> tmp_right = inorderTraversal(root->right);
tmp.insert(tmp.end(), tmp_left.begin(), tmp_left.end());
tmp.push_back(root->val);
tmp.insert(tmp.end(), tmp_right.begin(), tmp_right.end());
}
return tmp;
}
bool Solution::test(TreeNode *root, vector<int> answer) {
return inorderTraversal(root) == answer;
}

View File

@ -0,0 +1,19 @@
#include <bits/stdc++.h>
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:
vector<int> inorderTraversal(TreeNode *root);
bool test(TreeNode *root, vector<int> answer);
};