二叉树的前序遍历(LeetCode 144)C语言
·
目录
题目来源
函数介绍
给你二叉树的根节点
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;
}
以上就是关于二叉树前序遍历的解析啦。如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。
关注我,让我们一起学习,一起成长吧!
更多推荐
https://leetcode-cn.com/problems/binary-tree-preorder-traversal/

所有评论(0)