648. Replace Words

来源:互联网 发布:论坛模板源码 编辑:程序博客网 时间:2024/05/29 16:16

简单题,但是需要把原来的问题分解成多个步骤

class Solution {public:    string find(string s, set<string>& newDict)    {        for(int i=0;i<s.size();i++)            {            string temp = s.substr(0,i+1);            if(newDict.find(temp)!=newDict.end())                return temp;        }        return s;    }    string replaceWords(vector<string>& dict, string s) {        vector<string> split;        int start= 0;        int end=0;        while(start<s.size()&&end<s.size())        {            while(s[start]==' ')                start++;            end=start;            while(end<s.size()&&s[end]!=' ')                end++;            split.push_back(s.substr(start, end-start));            start=end;        }        set<string> newDict;        for(int i=0;i<dict.size();i++)            newDict.insert(dict[i]);        string result = "";        for(int i=0;i<split.size()-1;i++)            result+=find(split[i], newDict)+" ";        result+=find(split[split.size()-1], newDict);        return result;    }};
原创粉丝点击