1. 二叉树的前序遍历
题目描述:给定一个二叉树,返回它的前序遍历。
int TreeSize(struct TreeNode* root)
{
if(root==NULL)
return 0;
return 1+TreeSize(root->left)+TreeSize(root->right);
}
void _preorderTraversal(struct TreeNode* root, int* retA, int* pi)
{
if(root == NULL)
return;
retA[(*pi)++] = root->val;
_preorderTraversal(root->left,retA,pi);
_preorderTraversal(root->right,retA,pi);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize){
//1.先开空间大小
int size =TreeSize(root);
int* retA = malloc(sizeof(int)*size);
*returnSize = size;
//2.按前序遍历,放入retA数组
int i =0;
_preorderTraversal(root,retA, &i);
//3.返回retA数组
return retA;
}
2. 二叉树的中序遍历
int TreeSize(struct Tre