目录
题目来源
函数介绍
问题示例
提示
函数实现
题目来源
144. 二叉树的前序遍历 - 力扣(LeetCode) (leetcode-cn.com)https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
函数介绍
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
问题示例
输入:root = [1,null,2,3]
输出:[1,2,3]
输入:root = []
输出:[]
输入:root = [1]
输出:[1]
输入:root = [1,null,2] 输入:root = [1,2]
输出:[1,2] 输出:[1,2]
提示
- 树中节点数目在范围 [0, 100] 内
- -100 <= Node.val <= 100
函数实现
void preorder(struct TreeNode* root, int* res, int* resSize)
{
if (root == NULL) return; //判空
res[(*resSize)++] = root->val; //存入数组
preorder(root->left, res, resSize); //递归当前结点的左子树
preorder(root->right, res, resSize); //递归当前结点的右子树
}
int* preorderTraversal(struct TreeNode* root, int* returnSize)
{
int* res = (int *)malloc(sizeof(int) * 2000);//开辟数组空间
*returnSize = 0;
preorder(root, res, returnSize);//跟结点,目标数组,长度
return res;
}
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
输入:root = [1,null,2,3] 输出:[1,2,3]
输入:root = [] 输出:[] 输入:root = [1] 输出:[1]
输入:root = [1,null,2] 输入:root = [1,2] 输出:[1,2] 输出:[1,2]
提示
- 树中节点数目在范围 [0, 100] 内
- -100 <= Node.val <= 100
函数实现
void preorder(struct TreeNode* root, int* res, int* resSize)
{
if (root == NULL) return; //判空
res[(*resSize)++] = root->val; //存入数组
preorder(root->left, res, resSize); //递归当前结点的左子树
preorder(root->right, res, resSize); //递归当前结点的右子树
}
int* preorderTraversal(struct TreeNode* root, int* returnSize)
{
int* res = (int *)malloc(sizeof(int) * 2000);//开辟数组空间
*returnSize = 0;
preorder(root, res, returnSize);//跟结点,目标数组,长度
return res;
}
- 树中节点数目在范围 [0, 100] 内
- -100 <= Node.val <= 100
void preorder(struct TreeNode* root, int* res, int* resSize)
{
if (root == NULL) return; //判空
res[(*resSize)++] = root->val; //存入数组
preorder(root->left, res, resSize); //递归当前结点的左子树
preorder(root->right, res, resSize); //递归当前结点的右子树
}
int* preorderTraversal(struct TreeNode* root, int* returnSize)
{
int* res = (int *)malloc(sizeof(int) * 2000);//开辟数组空间
*returnSize = 0;
preorder(root, res, returnSize);//跟结点,目标数组,长度
return res;
}


