当前位置: 首页 > 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.dtcms.com/a/303629.html

相关文章:

  • 商城系统-项目测试
  • 信息搜集目的原则方法思路工具(二)
  • DDoS攻击防御:从5G到T级防护方案全对比
  • 利用软件定义无线USRP X410、X440 电推进无线原型设计
  • Sentinel 不同层面的流控保护
  • 【图像处理基石】基于暗光图像恢复颜色有哪些难点?
  • resnet中的Bottleneck
  • Google Doppl:重新定义虚拟试衣的AI革命
  • MCP协议全景解析:从工业总线到AI智能体的连接革命
  • 结合二八定律安排整块时间
  • 正向代理和反向代理的理解
  • 【安卓笔记】OOM与内存优化
  • 常见的JVM虚拟机的参数详解
  • OpenGL进阶系列22 - OpenGL SuperBible - bumpmapping 例子学习
  • Python动态规划:从基础到高阶优化的全面指南(3)
  • nvim tagbar安装
  • C#:基于 EF Core Expression 的高性能动态查询构建实战 —— 面向大数据量环境的查询优化方案(全是干货,建议收藏)
  • barba.js单页面应用程序
  • 基于VHDL的神经网络加速器设计实战
  • C++算法实例精讲
  • MKS E28H 0.05-100 Torr 加热 (100°C) Baratron 电容压力计,带蚀刻传感器 手侧
  • C++入门自学Day2-- c++类与对象(初识2)
  • 一文理清 Linux 软件管理核心知识:从程序组成到包管理工具
  • C语言中的数据结构--栈和队列(2)
  • VMware Workstation Pro 详细安装步骤
  • 线程安全
  • C++常见的仿函数,预定义函数,functor,二元操作函数(对vector操作,加减乘除取余位运算等 )
  • 异步通讯组件MQ
  • HTML应用指南:利用GET请求获取全国小米之家门店位置信息
  • 基于深度学习的医学图像分析:使用3D CNN实现肿瘤检测