华为机试HJ81:字符串字符匹配

简介: 华为机试HJ81:字符串字符匹配

题目描述:

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

请注意本题有多组样例输入。

输入描述:

输入两个字符串。第一个为短字符串,第二个为长字符串。两个字符串均由小写字母组成。

输出描述:

如果短字符串的所有字符均在长字符串中出现过,则输出true。否则输出false。

示例:

输入:

bc

abc


输出:

true


解题思路:

本题是字符串分析题。遍历分析短字符串的每个字符,判断其是否在长字符串中出现过;若半路有某个字符没有找到,则直接break,令flag为false,若遍历完flag还是true的话则说明都找到了;按结果输出即可。

测试代码:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s1,s2;
    while(cin>>s1>>s2)
    {
        bool flag=true;
        int size1=s1.size();
        int size2=s2.size();
        for(int i=0;i<size1;++i)
        {
            bool find=false;
            for(int j=0;j<size2;++j)
            {
                if(s1[i]==s2[j])
                {
                    find=true;
                    break;
                }
            }
            if(!find)
            {
                flag=false;
                break;
            }
        }
        if(flag)
            cout<<"true"<<endl;
        else
            cout<<"false"<<endl;
    }
    return 0; 
}
相关文章
|
人工智能
华为机试HJ26:字符串排序
华为机试HJ26:字符串排序
|
算法
华为机试HJ14:字符串排序
华为机试HJ14:字符串排序
|
7月前
|
索引
《华为机试》——查找两个字符串a,b中的最长公共子串
《华为机试》——查找两个字符串a,b中的最长公共子串
华为机试HJ106:字符逆序
华为机试HJ106:字符逆序
127 1
|
容器
华为机试HJ102:字符统计
华为机试HJ102:字符统计
171 1
|
算法 数据库
华为机试HJ71:字符串通配符
华为机试HJ71:字符串通配符
华为机试HJ65:查找两个字符串a,b中的最长公共子串
华为机试HJ65:查找两个字符串a,b中的最长公共子串
华为机试HJ59:找出字符串中第一个只出现一次的字符
华为机试HJ59:找出字符串中第一个只出现一次的字符
华为机试HJ46:截取字符串
华为机试HJ46:截取字符串