天天看点

【华为机试108题】字符串匹配

题目描述

题目标题:

判断短字符串中的所有字符是否在长字符串中全部出现

输入描述:

输入两个字符串。第一个为短字符,第二个为长字符。

输出描述:

返回值:

示例1

输入

bc

abc

输出

true

我们可以使用c++的map容器,来实现字符的匹配。

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s1,s2;
    while(cin>>s1>>s2)
    {
        map<char,int> m;
        bool flag =true;
        for(int i=;i<s2.size();i++)
        {
            m[s2[i]]=;
        }
        for(int i=;i<s1.size();i++)
        {
            if(m[s1[i]]!=)
            {
                flag=false;
                break;
            }
        }

        if(flag)
            cout<<"true"<<endl;
        else
            cout<<"false"<<endl;
    }

    return ;
}