解析
中序遍历:先左再中后右
Func函数,接收一个节点,节点非空,则先遍历其左子树,再存入自身val值,最后遍历右子树
ret数组存储每个非空节点的val值
pos为下一个存入ret数组的数据的下标
代码
void Func(struct TreeNode* p,int* ret,int* pos){
if(p==NULL) return;
Func(p->left,ret,pos);
ret[(*pos)++]=p->val;
Func(p->right,ret,pos);
}
int* inorderTraversal(struct TreeNode* root, int* returnSize){
int* ret=(int*)malloc(sizeof(int)*100);
*returnSize=0;
Func(root,ret,returnSize);
return ret;
}