目录

题目来源

函数介绍

问题示例

提示

函数实现

题目来源

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;
}

以上就是关于二叉树前序遍历的解析啦。如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。
关注我,让我们一起学习,一起成长吧! 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐