LeetCode 988. 从叶结点开始的最小字符串(DFS)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 988. 从叶结点开始的最小字符串(DFS)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給定一顆根結點為 root 的二叉樹,樹中的每一個結點都有一個從 0 到 25 的值,分別代表字母 'a' 到 'z':值 0 代表 'a',值 1 代表 'b',依此類推。
找出按字典序最小的字符串,該字符串從這棵樹的一個葉結點開始,到根結點結束。
(小貼士:字符串中任何較短的前綴在字典序上都是較小的:例如,在字典序上 “ab” 比 “aba” 要小。葉結點是指沒有子結點的結點。)
示例 1:
示例 2:
示例 3:
來源:力扣(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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ACwing 5. 多重背包问题 II(
- 下一篇: LeetCode 764. 最大加号标志