数据结构--力扣144.二叉树的前序遍历(C

链接:. - 力扣(LeetCode)【点击即可跳转】

使用c语言来实现。

代码展示为:

复制代码
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
 int TreeSize( struct TreeNode* root)
{
    return root==NULL?0:TreeSize(root->left)+TreeSize(root->right)+1;
}
void _prevOrder( struct TreeNode*root,int* a,int* pi)
{
    if(root==NULL)
    {
        return;
    }
    a[*pi]=root->val;
    ++(*pi);
    _prevOrder(root->left,a,pi);
    _prevOrder(root->right,a,pi);
}

int* preorderTraversal( struct TreeNode* root, int* returnSize)
{
    int size=TreeSize(root);
    int* a=(int*)malloc(size*sizeof(int));
    int i=0;
    _prevOrder(root,a,&i);

    *returnSize=size;
    return a;
}
相关推荐
样例过了就是过了1 分钟前
LeetCode热题100 数组中的第K个最大元素
数据结构·c++·算法·leetcode·排序算法
17(无规则自律)3 分钟前
【算法对比】连续子区间的两种控制逻辑:Kadane和滑动窗口
数据结构·c++·算法·动态规划
笑鸿的学习笔记5 分钟前
git笔记之已push到远程,想把最新的两个commit合并为一个commit, 使用reword和fixup
笔记·git
y = xⁿ5 分钟前
【LeetCodehot100】:贪心算法:T121:买卖股票最佳时机 T55:跳跃游戏 T45:跳跃游戏2
算法·游戏·贪心算法
hnult6 分钟前
考试云智能题库系统:无限层级分类 + AI 判分技术落地详解
大数据·人工智能·笔记·课程设计
人道领域7 分钟前
【LeetCode刷题日记】:设计链表全解析
算法·leetcode·链表
✎ ﹏梦醒͜ღ҉繁华落℘12 分钟前
向日葵远程控制指南
c语言
bestblueheart13 分钟前
C语言条件运算符详解:用法、求值规则及需注意的要点
c语言·条件运算符·三目运算符·ifelse·示例演示
xiaoye-duck14 分钟前
《算法题讲解指南:递归,搜索与回溯算法--穷举vs深搜vs回溯vs剪枝》--12.全排列,13.子集
c++·算法·回溯
Flittly8 小时前
【SpringAIAlibaba新手村系列】(11)Embedding 向量化与向量数据库
java·笔记·spring·ai·springboot