LeetCode524。文字を削除して、辞書の最長の単語に一致させます

class Solution {
    
    
public:

    static bool cmp(string a, string b)
    {
    
    
        return a.size() == b.size() ? a < b:a.size() > b.size();
    }

    string findLongestWord(string s, vector<string>& d) {
    
    

        if (s.size() == 0)
        {
    
    
            return "";
        }

        sort(d.begin(), d.end(), cmp);

        int i;

        for (i = 0; i < d.size();i++)
        {
    
    
            int k = 0;
            for (int j = 0; j < s.size() && k < d[i].size() ; j++)
            {
    
    
                if (s[j] == d[i][k])
                {
    
    
                    k++;
                }
            }
            if (k == d[i].size())
            {
    
    
                break;
            }
        }

        if (i < d.size())
        {
    
    
            return d[i];
        }
        else
        {
    
    
            return "";
        }
    }
};

おすすめ

転載: blog.csdn.net/qq_32862515/article/details/109442106