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

Posted Debroon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了988. 从叶结点开始的最小字符串相关的知识,希望对你有一定的参考价值。

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

 


题目

传送门:https://leetcode.cn/problems/smallest-string-starting-from-leaf/

 


算法设计:深度优先搜索

在遍历二叉树的基础上,获取最小字典序。

class Solution 
    string ans = "~";                                     // 最大的ASCII码  
public:     
	void dfs(TreeNode* root, string s) 
    	if (!root) return;
        if (!root->left && !root->right)                  // 叶子节点
        	ans = min(ans, char(root->val+'a')+s);        // +a:0->a、倒序保存:root->val + s、最小字典序:字典序以叶子节点为主
        dfs(root->left, char(root->val+'a')+s);
        dfs(root->right, char(root->val+'a')+s);
	
    string smallestFromLeaf(TreeNode* root) 
        dfs(root,"");
        return ans;
    
;

以上是关于988. 从叶结点开始的最小字符串的主要内容,如果未能解决你的问题,请参考以下文章

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

LeetCode 988:回溯和深度优先搜索(DFS)的区别

图的优先遍历:广度优先搜索和深度优先搜索

回溯算法

关于数据结构的深度优先遍历和广度优先遍历以及最小生成树 第四大题的第一题

1什么是深度优先搜索算法