- 思路
递归很简单的伐
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
void Traversal(struct TreeNode* root, int *p, int *i){
if(root!=NULL){
Traversal(root->left, p, i);
*(p+*i) = root->val;
*i = *i+1;
Traversal(root->right, p, i);
}
return;
}
int* inorderTraversal(struct TreeNode* root, int* returnSize){
int *arr = (int *)malloc(100 *sizeof(int));
int *i = (int *)malloc(sizeof(int));
*i = 0;
Traversal(root, arr, i);
*returnSize = *i;
return arr;
}