题目描述
代码实现
/**
* Definition for a Node.
* struct Node {
* int val;
* int numChildren;
* struct Node** children;
* };
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
void dfs(struct Node* root,int* result,int* returnSize)
{
if(root==NULL)
{
return;
}
result[(*returnSize)++]=root->val;
int i=0;
//递归
for(;i<root->numChildren;i++)
{
dfs(root->children[i],result,returnSize);
}
}
int* preorder(struct Node* root, int* returnSize) {
int* result=(int*)malloc(10000*sizeof(int));
*returnSize=0;
dfs(root,result,returnSize);
return result;
}