文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定一颗根结点为 root 的二叉树,树中的每一个结点都有一个从 0 到 25 的值,分别代表字母 'a' 到 'z':值 0 代表 'a',值 1 代表 'b',依此类推。

找出按字典序最小的字符串,该字符串从这棵树的一个叶结点开始,到根结点结束。

(小贴士:字符串中任何较短的前缀在字典序上都是较小的:例如,在字典序上 “ab” 比 “aba” 要小。叶结点是指没有子结点的结点。)

示例 1:

输入:[0,1,2,3,4,3,4]
输出:"dba"

示例 2:

输入:[25,1,3,1,3,0,2]
输出:"adz"

示例 3:

输入:[2,2,1,null,1,0,null,0]
输出:"abc"提示:
给定树的结点数介于 1 和 8500 之间。
树中的每个结点都有一个介于 0 和 25 之间的值。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/smallest-string-starting-from-leaf
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {string ans, temp;
public:string smallestFromLeaf(TreeNode* root) {string path;dfs(root, path);return ans;}void dfs(TreeNode* root, string& path) {if(!root) return;path += root->val+'a';if(!root->left && !root->right){   //叶节点temp = path;reverse(temp.begin(), temp.end());if(ans == "")ans = temp;else if(ans > temp)ans = temp;}dfs(root->left, path);dfs(root->right, path);path.pop_back();//回溯}
};

20 ms 19.2 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 988. 从叶结点开始的最小字符串(DFS)相关推荐

  1. 若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( )。 12 20 32 33

    写在前边的话:你的支持是我写作的动力,有帮助到你的话麻烦点赞加收藏呦.感激不尽!如有错误也请留言指正. 考研数据结构练习,欢迎订阅我的专辑<考研数据结构题型分类讲解练习> 若平衡二叉树的高 ...

  2. 在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( )

    在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( ) A. 41 B. 82 C. 113 D. 122 设树中度为i(i ...

  3. 7-7 列出叶结点 (10 分)

    7-7 列出叶结点 (10 分) 对于给定的二叉树,本题要求你按从上到下.从左到右的顺序输出其所有叶节点. 输入格式: 首先第一行给出一个正整数 N(≤10),为树中结点总数.树中的结点从 0 到 N ...

  4. 6-8 先序输出叶结点 (15 分)

    ** 6-8 先序输出叶结点 (15 分) ** 本题要求按照先序遍历的顺序输出给定二叉树的叶结点. 函数接口定义: void PreorderPrintLeaves( BinTree BT ); 其 ...

  5. PTA4-11 先序输出叶结点

    4-11 先序输出叶结点   (15分) 本题要求按照先序遍历的顺序输出给定二叉树的叶结点. 函数接口定义: void PreorderPrintLeaves( BinTree BT ); 其中Bin ...

  6. 如果哈夫曼树有67个结点,则可知叶结点总数为

    由于哈夫曼树中没有度为1得结点. 只有度为0和度为2得结点.根据n2=n0-1, 则一棵有n0个叶子结点得哈夫曼树共有2n0-1个结点,因而n0=34 故如果哈夫曼树有67个结点,则可知叶结点总数为3 ...

  7. 7-4 (小字辈) 7-5 (列出叶结点) 7-6 (顺序存储的二叉树的最近的公共祖先问题)

    目录 7-4 小字辈 7-5 列出叶结点 7-6 顺序存储的二叉树的最近的公共祖先问题 总结: 7-4 小字辈 原题链接:题目详情 - 7-4 小字辈 (pintia.cn) 思路: 利用一维数组下标 ...

  8. 若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()

    首先说明一点,我们平时一般所说的哈夫曼树是指最优二叉树,也叫做严格二叉树(注意不是完全二叉树),但是哈夫曼树完全不局限于二叉树,也存在于多叉树中,即度为m的哈夫曼树,也叫最优m叉树,严格m叉树(注意不 ...

  9. 若度为m的哈夫曼树中,其叶结点个数为n,求解非叶结点的个数

    若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为( ) 答:叶结点即度为0的结点有n个:假设度为m的结点个数为x,则x+n=mx+1;也就是x=n-1/m-1; 若n-1不能被整除,即所给数 ...

最新文章

  1. html表单的创建和css的构成
  2. 正则表达式基础(一)
  3. 【读书笔记】建造者模式代码完成与大家分享
  4. Google Guava –期货
  5. 【音乐】想不起来歌名的瞎唱
  6. UDT源码剖析(五):UDT::cleanup()过程代码注释
  7. php中$stu_by,PHP基础案例二:计算学生年龄
  8. dedecms切换模板css,DEDECMS的模板的css的详细解释 -电脑资料
  9. SAP License:客户特别总帐统驭科目某天余额取数逻辑
  10. Linux音频驱动-ASOC(ALSA System on Chip)
  11. 就是要你懂Java中volatile关键字实现原理
  12. 怎么做直播APP软件?
  13. 等保中级测评师复习大纲2019版
  14. “快手极速版”的模拟器多开方法
  15. 网络协议(一) TCP/IP 协议
  16. 这次一定弄懂完全图、连通图、连通分量、强连通图、强连通分量、极大连通分量、极小联通分量、生成树、生成森林的区别
  17. 2021-2027全球与中国太阳能EVA板市场现状及未来发展趋势
  18. 【回答问题】ChatGPT上线了!如何使用控制算法或动力学模型控制PreScan搭建的仿真环境及相关车辆的运动状态?
  19. 【Linux】进程控制1-进程创建、进程终止
  20. 基于FPGA模块VGA2HDMI

热门文章

  1. tornado学习笔记day07-同步与异步
  2. Python中is与==的使用区别详解
  3. .net core EPPlus npoi_2020 ASP.NET界面开发:DevExpress v20.1支持.NET Core设计时
  4. VMware实现Android x86 8.1 从安装到使用
  5. mysql5.7.17 win7_win7下mysql5.7.17安装配置方法图文教程
  6. Multidimensional Queries(二进制枚举+线段树+Educational Codeforces Round 56 (Rated for Div. 2))...
  7. jpush 极光推送 java
  8. caffe使用ctrl-c不能保存模型
  9. asp.net 的页面几种传值方式
  10. 实现一个简单的web服务器