Inorder Traversal of a Binary Tree using Recursion
Visualization Player
Problem Statement
Examples
Solution
Algorithm Steps
Code
C
C++
Python
Java
JS
Go
Rust
Kotlin
Swift
TS
#include <stdio.h>
#include <stdlib.h>
typedef struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
} TreeNode;
TreeNode* createNode(int val) {
TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode));
node->val = val;
node->left = node->right = NULL;
return node;
}
void inorderTraversal(TreeNode* root, int* arr, int* index) {
if (root) {
inorderTraversal(root->left, arr, index);
arr[(*index)++] = root->val;
inorderTraversal(root->right, arr, index);
}
}
int main() {
TreeNode* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
int arr[100], index = 0;
inorderTraversal(root, arr, &index);
printf("Inorder Traversal: ");
for (int i = 0; i < index; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
Comments
Loading comments...