力扣:二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
示例 1:
输入:root = [1,null,2,3]输出:[1,2,3]
示例 2:
输入:root = []输出:[]
示例 3:
输入:root = [1]输出:[1]
示例 4:
输入:root = [1,2]输出:[1,2]
示例 5:
输入:root = [1,null,2]输出:[1,2]
/*** 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 preorder(struct TreeNode* root,int* res,int*resSize){if(root==NULL){return;//为空直接返回}int a=*resSize;//将数组大小赋值给ares[a]=root->val;//将值存入到res数组中*resSize=*resSize+1;//数组大小加1preorder(root->left,res,resSize);//递归进入左指针preorder(root->right,res,resSize);//递归进入右指针
}
int* preorderTraversal(struct TreeNode* root, int* returnSize) {int *res=(int*)malloc(sizeof(int)*10000);//开辟一个足够大的动态空间* returnSize=0;//数组大小,初始值0preorder(root,res,returnSize);//调用函数return res;//返回值
}
