首页 > 其他分享 >257. 二叉树的所有路径c

257. 二叉树的所有路径c

时间:2024-03-21 16:45:44浏览次数:29  
标签:TreeNode struct returnSize int 路径 二叉树 array root 257

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int temp[400];

void dfs(struct  TreeNode* root,int* returnSize ,int count ,char** array){
    if(!root) return ;
    temp[count]=root->val;
    if(!root->left&&!root->right){
        array[*returnSize]=(char*)malloc(sizeof(char)*(count*5+300));
        int index=0,i=0;
        while(i<=count){
            if(index==0){
                index+=sprintf(array[*returnSize]+index,"%d",temp[i++]);
            }else{
                index+=sprintf(array[*returnSize]+index,"->%d",temp[i++]);
            }
        }
        array[*returnSize][index]=0;
        (*returnSize)++;
        return;
    }
    dfs(root->left,returnSize,count+1,array);
    dfs(root->right,returnSize,count+1,array);
}

char** binaryTreePaths(struct TreeNode* root, int* returnSize) {
    for(int i=0;i<400;i++) temp[i]=0;
    char** array=(char**)malloc(sizeof(char*)*400);
    *returnSize=0;
    dfs(root,returnSize,0,array);
    return array;
}

 

标签:TreeNode,struct,returnSize,int,路径,二叉树,array,root,257
From: https://www.cnblogs.com/llllmz/p/18087701

相关文章

  • 一文搞懂idea中的根目录和路径(以Mybatis为例)
    1.根目录概念:1.1项目根目录(ProjectRoot)项目根目录是你在文件系统中为整个项目选择的顶层目录。它通常包含了项目的所有内容,包括源代码、构建配置文件、文档、测试文件等。在版本控制系统中(如Git),项目根目录通常是仓库的根目录。1.2内容根目录(ContentRoot)在IntelliJ......
  • ACCESS 关于使用VBA选择路径时提示"方法'FileDislog作用于对象'_Application’时失败"
    以下是源码:PrivateSubCommand0_Click()'打开文件选择对话框WithApplication.FileDialog(msoFileDialogFilePicker).AllowMultiSelect=False.Filters.Clear.Filters.Add"Excel文件","*.xls;*.xlsx",1I......
  • 【数据结构和算法初阶(C语言)】二叉树的顺序结构--堆的实现/堆排序/topk问题详解---二
     目录 ​编辑1.二叉树的顺序结构及实现1.1二叉树的顺序结构2堆的概念及结构3堆的实现3.1堆的代码定义3.2堆插入数据3.3打印堆数据3.4堆的数据的删除3.5获取根部数据3.6判断堆是否为空3.7堆的销毁 4.建堆以及堆排序 4.1堆排序---是一种选择排序4.2升......
  • 最短路径算法
    原文链接:https://blog.csdn.net/xiaoxi_hahaha/article/details/110257368已知起始结点,求最短路径的问题。适合使用Dijkstra算法。迪杰斯特拉算法是由荷兰计算机科学家在1956年发现的算法,此算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。它是一个贪心算法。全......
  • 代码随想录第15天|二叉树的层序遍历
    二叉树的层序遍历102.二叉树的层序遍历-力扣(LeetCode)代码随想录(programmercarl.com)讲透二叉树的层序遍历|广度优先搜索|LeetCode:102.二叉树的层序遍历_哔哩哔哩_bilibili给你二叉树的根节点 root ,返回其节点值的 层序遍历 。(即逐层地,从左到右访问所有节点)......
  • 代码随想录第14天|二叉树的递归遍历
    二叉树的理论基础代码随想录(programmercarl.com)关于二叉树,你该了解这些!|二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序_哔哩哔哩_bilibili二叉搜索树:二叉搜索树是一个有序树。左子树不为空,则左子树上所有节点的值均小于根......
  • 数据结构:图的最短路径
    一、最短路径的基本概念无权图:路径包含的边的条数。带权图:路径包含的各边权值之和。长度最小的路径称为最短路径,最短路径的长度也称为最短距离。二、无权图单源最短路径        无权图单源最短路径使用BFS求出,时间复杂度为O(n+e)。该算法可以求出单源到所有顶点的......
  • 机器人路径规划:基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(提供Python代码)
    迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻......
  • 路径目录
    一、目录与路径绝对路径与相对路径绝对路径:由根目录/起始的文件名或目录名称。例:/home/etc相对路径:相对于目前路径的写法。例:./home/etc如果是在写程序(shellscripts)来管理系统的条件下,务必使用绝对路径的写法。如果使用相对路径在程序当中,则可能由于你执行的工作环境......
  • Leecode 二叉树的中序遍历
    Day6第三题这是一道让我崩溃的题,因为一个笔误root.right写成了root.left改了好久。classSolution{publicList<Integer>inorderTraversal(TreeNoderoot){List<Integer>listRoot=newArrayList<Integer>();if(root!=null){listRo......