# 二叉树的中序遍历

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

## template ```cpp #include #include struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; static void traverse(struct TreeNode *node, int *result, int *count) { if (node == NULL) { return; } traverse(node->left, result, count); result[*count] = node->val; (*count)++; traverse(node->right, result, count); } static int *inorderTraversal(struct TreeNode *root, int *returnSize) { if (root == NULL) { *returnSize = 0; return NULL; } int count = 0; int *result = malloc(5000 * sizeof(int)); traverse(root, result, &count); *returnSize = count; return result; } int main() { int count = 0; inorderTraversal(NULL, &count); return 0; } ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```