数据结构--力扣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 小时前
【C++特性】四种类型转
c++·算法·类型转换
缘来是你远去是我1 小时前
本地个人笔记exe
笔记
喵本喵叁肆1 小时前
用 Boosting 把弱隐私算法炼成强隐私算法(英文原题:Boosting and Differential Privacy (FOCS 2010))
算法·集成学习·boosting
GrowingIO技术社区2 小时前
CDP、行为分析、归因与营销自动化有什么区别?
数据结构·数据挖掘·数据分析
GrowingIO技术社区2 小时前
实时标签怎样验收?从数据更新到分群可用
数据结构·数据挖掘·数据分析
青梅味猪大肠2 小时前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
FakeOccupational2 小时前
【电路笔记 STM32】RTC配置:晶振选择+闹钟Configuration+中断设置
笔记·stm32·实时音视频
迪康coolmu2 小时前
企业U盘管控落地实战:基于迪康端点安全一体化管理系统的移动存储安全实践
运维·人工智能·经验分享·笔记·安全·电脑
Z21-X5 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla13 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio