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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
很明显还是用dfs遍历树,在遍历的过程中保存节点值,题目上要求的是从叶子节点到根节点逐个保存,构成字符串。找构成的最小的字符串。
我的思路是选择从根节点到叶子节点构成字符串,然后让它反转,用反转后的字符串来更新结果,通过不断更新结果来找到最小值。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:string ans;void dfs(TreeNode* root,string s){if(root==nullptr){return ;}else{s+=(char)(root->val+'a');if(root->left==nullptr&&root->right==nullptr){string tmp;tmp=s;reverse(tmp.begin(),tmp.end());if(ans>tmp||ans==""){ans=tmp;}return;}dfs(root->left,s);dfs(root->right,s);s.pop_back();}}string smallestFromLeaf(TreeNode* root) {dfs(root,"");return ans;}
};

一些初始化和细节就不再赘述,直接看代码吧。
时间复杂度O(n^2),遍历*反转字符串

http://www.xdnf.cn/news/1201771.html

相关文章:

  • 负载均衡集群HAproxy
  • keepalived
  • Redis做混沌测试都需要测哪些场景?预期如何?
  • 安宝特案例丨AR+AI赋能轨道交通制造:破解人工装配难题的创新实践
  • [免费]【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)【论文+源码+SQL脚本】
  • 【代码解读】通义万相最新视频生成模型 Wan 2.2 实现解析
  • ESP32学习-按键中断
  • 【重学数据结构】二叉搜索树 Binary Search Tree
  • 源代码管理工具有哪些?有哪些管理场景?
  • [VLDB 2025]面向Flink集群巡检的交叉对比学习异常检测
  • mybatis-plus实体类主键生成策略
  • 设计模式(四)创建型:生成器模式详解
  • Java排序中(a).compareTo(b)与Integer.compare(a, b)区别
  • 推荐系统学习
  • 算法竞赛阶段二-数据结构(37)数据结构循环链表模拟实现
  • 【PCIe 总线及设备入门学习专栏 5.3.4 -- PCIe PHY Firmware 固件加载流程】
  • Android启动时间优化大全
  • 通信名词解释:I2C、USART、SPI、RS232、RS485、CAN、TCP/IP、SOCKET、modbus等
  • Window 部署 coze-stdio(coze 开发平台)
  • vue3.6更新哪些内容
  • 电子电路设计学习
  • MySQL - 索引(B+树)
  • Python Pandas.cut函数解析与实战教程
  • 力扣热题100----------41.缺少的第一个正数
  • C++算法竞赛篇(五)循环嵌套题型讲解
  • JavaScript手录07-数组
  • JavaScript核心概念全解析
  • 创建属于自己的github Page主页
  • 【Python系列】Flask 应用中的主动垃圾回收
  • 安装redis