当前位置: 首页 > news >正文

988. 从叶结点开始的最小字符串

988. 从叶结点开始的最小字符串

在这里插入图片描述


C代码:DFS

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/// 叶子节点// 每一层用一个pathTop、遇到叶子节点就判断一次;建立一个ans字符串,每次叶子节点与之比较// 建一个全局的数组,最后再reverse#define MAX_LEN 8501char* tmp;    // reverse接收用, 末尾加'\0'
char* path;   // 全局路径, 用pathTop维系
char* ans;    // strcat自动加'\0'char* reverse(int pathTop) {for (int i = 0; i < pathTop; ++i) {tmp[i] = path[pathTop - i -1];}tmp[pathTop] = '\0';return tmp;
}void dfs(struct TreeNode* root, int pathTop) {if (root == NULL) {return;}path[pathTop++] = root->val + 'a';  // 先序遍历if (root->left == NULL && root->right == NULL) {char* tmp = reverse(pathTop);if (strlen(ans) == 0 || strcmp(ans, tmp) > 0) {  // ans 大于 tmp 返回 >0ans[0] = '\0';strcat(ans, tmp);}}dfs(root->left, pathTop);dfs(root->right, pathTop);
}char * smallestFromLeaf(struct TreeNode* root){path = (char*)malloc(sizeof(char) * MAX_LEN);tmp = (char*)malloc(sizeof(char) * MAX_LEN);ans = (char*)malloc(sizeof(char) * MAX_LEN);   ans[0] = '\0';dfs(root, 0);return ans;
}
http://www.lryc.cn/news/150879.html

相关文章:

  • RealSense D455启动教程
  • docker与phpstudy两种方式部署wordpress 并 开启伪静态
  • 网站搭建最简化的引导操作 | 云服务器的购买选用 | 域名的选用 | 网站的上线和备案。
  • Spring Cloud Foundry上使用通配符模式匹配进行的安全绕过漏洞 CVE-2023-20873
  • 简述SpringMVC
  • vue竖向步骤条
  • java八股文面试[多线程]——Synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁
  • 【数据结构】队列---C语言版(详解!!!)
  • java:详解http模块request对象
  • 力扣20. 有效的括号
  • 用springboot+elasticserach7的demo,对比sider和百度ai的异同
  • Python的pymysql模块与MySQL数据库的互动:基础与实例
  • 滑动窗口实例1(长度最小的子数组)
  • EI、Scopus双检索| 2023年第四届自动化、机械与设计工程国际会议
  • 【混合时变参数系统参数估计算法】使用范数总和正则化和期望最大化的混合时变参数系统参数估计算法(Matlab代码实现)
  • vue的公共方法封装以及class高阶封装
  • OpenGL-入门-BMP像素图glReadPixels(1)实现读取屏幕中间的颜色和获取屏幕上鼠标点击位置的颜色
  • 斥资4亿,收购这家WLAN厂商,结果……
  • 【简单】2511. 最多可以摧毁的敌人城堡数目
  • Linux用一键安装包部署禅道(18.5版本)
  • 【2】openGL shader着色器分析三角形填色
  • mysql数据表Table is marked as crashed and should be repaired 的解决办法
  • 【Unity基础】1.项目搭建与视图编辑
  • C语言每日一练---Day(14)
  • 基于孔雀算法优化的BP神经网络(预测应用) - 附代码
  • 【小沐学Unity3d】3ds Max 骨骼动画制作(蒙皮修改器skin)
  • 【Latex】使用技能站:(三)使用 Vscode 配置 LaTeX
  • 诗诺克科技引领数字资产智能交易革命
  • 混合编程python与C++
  • 【单片机】单片机入门指南