美文网首页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