zoukankan      html  css  js  c++  java
  • 有两个字符串a,b。假设a="ab",b="cd",判断字符串c="acbd"是属于a、b的组合。满足组合后a、b的内部顺序均不变。

    #include<iostream>
    #include<string>
    using namespace std;
    
    int check(string a,string b,string c)
    {
    int lena=a.length();
    int lenb=b.length();
    int lenc=c.length();
    if(lenc!=(lena+lenb))return 0;
    
    if(a=="")
    {
    if(b==""&&c=="")return 1;
    else if(b!=""&&c!="")
    {
    for(int i=0;i<lenb;i++)
    {
    if(b.at(i)!=c.at(i))return 0;
    }
    return 1;
    }
    else return 0;
    }
    else if(b=="")
    {
    if(c=="")return 0;
    else
    {
    for(int i=0;i<lena;i++)
    {
    if(a.at(i)!=c.at(i))return 0;
    }
    return 1;
    }
    }
    else
    {
    if(a.at(0)==c.at(0)&&b.at(0)!=c.at(0))
    {
    return check(a.substr(1),b,c.substr(1));
    }
    else if(b.at(0)==c.at(0)&&a.at(0)!=c.at(0))
    {
    return check(a,b.substr(1),c.substr(1));
    }
    else if(b.at(0)==a.at(0)&&a.at(0)==c.at(0))
    {
    check(a.substr(1),b,c.substr(1));
    return check(a,b.substr(1),c.substr(1));
    }
    else return 0;
    }
    
    }
    
    int main()
    {
    string a="abc";
    string b="cd";
    string c="abcdc";
    cout<<check(a,b,c)<<endl;
    
    system("pause");
    return 0;
    }
  • 相关阅读:
    I Hate It
    满减优惠[Offer收割]编程练习赛4
    积水的城市 hiho[Offer收割]编程练习赛4
    Subsequence 尺取法
    526. 优美的排列
    401. 二进制手表
    306. 累加数
    216. 组合总和 III
    131. 分割回文串
    ubuntu deepin-软件 分辨率的问题
  • 原文地址:https://www.cnblogs.com/yanglf/p/3579969.html
Copyright © 2011-2022 走看看