标签:ring fast vector c++ this nts ack pre cal
Given the root of a binary tree, each node has a value from 0 to 25 representing the letters ‘a‘ to ‘z‘: a value of 0 represents ‘a‘, a value of 1represents ‘b‘, and so on.
Find the lexicographically smallest string that starts at a leaf of this tree and ends at the root.
(As a reminder, any shorter prefix of a string is lexicographically smaller: for example, "ab" is lexicographically smaller than "aba". A leaf of a node is a node that has no children.)
class Solution { public: string smallestFromLeaf(TreeNode* root) { vector<string> a; helper(root, a, ""); sort(a.begin(), a.end()); return a[0]; } void helper(TreeNode* root, vector<string>& a, string parent){ if(!root) return; string tmpc(1,(char)(‘a‘+root->val)); string tmps = tmpc + parent; if(!root->left && !root->right){ a.push_back(tmps); return; } helper(root->left, a, tmps); helper(root->right, a, tmps); } };
LC 988. Smallest String Starting From Leaf
标签:ring fast vector c++ this nts ack pre cal
原文地址:https://www.cnblogs.com/ethanhong/p/10350217.html