美文网首页lintcode
684. 缺少的字符串

684. 缺少的字符串

作者: 和蔼的zhxing | 来源:发表于2018-01-20 10:12 被阅读29次

给出两个字符串,你需要找到缺少的字符串.
样例

给一个字符串 str1 = This is an example, 给出另一个字符串 str2 = is example
返回 ["This", "an"]

分解到vector中借助find函数

先把两个字符串都分解到vector中,以空格为标志,然后在借助find函数来找出两个vector中不同的单词。

 vector<string> missingString(string str1, string str2) 
    {
        if(str1.size()<str2.size())
            swap(str1,str2);             //保证str1是大的,最后是遍历s1到s2里去找
            
        vector<string> s1;
        vector<string> s2;
        vector<string> res;
        
        string tmp;
        
        for(auto ss:str1)
        {
            if(!isspace(ss))
                tmp+=ss;
            else
            {
                if(!tmp.empty())
                {
                s1.push_back(tmp);
                tmp.clear();
                }
            }
        }
        if(!tmp.empty())
        {
            s1.push_back(tmp);
            tmp.clear();
        }
        
          for(auto ss:str2)
        {
            if(!isspace(ss))
                tmp+=ss;
            else
            {
                if(!tmp.empty())
                {
                s2.push_back(tmp);
                tmp.clear();
                }
            }
        }
        if(!tmp.empty())
        {
            s2.push_back(tmp);
            tmp.clear();
        }
        
        for(auto ss:s1)
        {
            if(find(s2.begin(),s2.end(),ss)==s2.end())
            {
                res.push_back(ss);
            }
        }
        return res;
           // Write your code here
    }

相关文章

网友评论

    本文标题:684. 缺少的字符串

    本文链接:https://www.haomeiwen.com/subject/kugzoxtx.html