数据结构--力扣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;
}
相关推荐
C++ 老炮儿的技术栈36 分钟前
volatile使用场景
linux·服务器·c语言·开发语言·c++
Liu628881 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星1 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
hjxu20161 小时前
【OpenClaw 龙虾养成笔记一】在远程服务器,使用Docker安装OpenClaw
服务器·笔记·docker
参.商.1 小时前
【Day41】143. 重排链表
leetcode·golang
sinat_255487812 小时前
读者、作家 Java集合学习笔记
java·笔记·学习
条tiao条2 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名2 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
tobias.b2 小时前
计算机基础知识-数据结构
java·数据结构·考研
zzh940772 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法