leetcode做题笔记144. 二叉树的前序遍历

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

思路一:递归

c语言解法

cpp 复制代码
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 = malloc(sizeof(int) * 2000);
    *returnSize = 0;
    preorder(root, res, returnSize);
    return res;
}

分析:

本题要输出二叉树的前序遍历,可以利用递归先返回根节点,不断列举二叉树的左子树,再列举右子树即可解决问题

总结:

本题考察二叉树的前序遍历问题,利用递归可以解决

相关推荐
宇宙realman_9999 分钟前
Git 本地版本控制极简使用笔记(Qt 项目专用)
笔记·git
A923A9 分钟前
【Vue3大事件 | 项目笔记】第六天
vue.js·笔记·前端框架·前端项目
2501_9454251510 分钟前
C++编译期字符串处理
开发语言·c++·算法
m0_7336122112 分钟前
模板编译期哈希计算
开发语言·c++·算法
ab15151716 分钟前
3.18二刷基础119、124,完成进阶52
算法
MrZhangBaby16 分钟前
SQL-leetcode—3482. 分析组织层级
数据库·sql·leetcode
Jordannnnnnnn16 分钟前
复试day27
数据结构·c++·算法
仰泳的熊猫16 分钟前
题目2311:蓝桥杯2019年第十届省赛真题-Fibonacci 数列与黄金分割
数据结构·c++·算法·蓝桥杯
似水明俊德21 分钟前
06-C#
开发语言·c++·算法·c#
ysa05103026 分钟前
模拟【打牌游戏】
数据结构·c++·笔记·算法