int* preorderTraversal(struct TreeNode* root, int* returnSize) {
int* res = malloc(sizeof(int) * 2000);
struct TreeNode* stk[2000];
struct TreeNode* node = root;
*returnSize = 0;
if (root == NULL) {
return res;
}
int stkl = 0;//采用栈的方式来输出
while (stkl > 0 || node != NULL) {
while (node != NULL) {
res[(*returnSize)++] = node->val;
stk[stkl++] = node;
node = node->left;//左
}
node = stk[--stkl];//右
node = node->right;
}
return res;
}