驗證子串


輸入兩個字符串,驗證其中一個串是否為另一個串的子串。

 

輸入格式:

輸入兩個字符串, 每個字符串占一行,長度不超過2000且不含空格。

 

輸出格式:

若第一個串s1是第二個串s2的子串,則輸出(s1) is substring of (s2) 
否則,若第二個串s2是第一個串s1的子串,輸出(s2) is substring of (s1) 
否則,輸出 No substring。

 

樣例輸入:

abc
dddncabca

樣例輸出:

abc is substring of dddncabca

提示:

s1.find(s2) 在字符串s1中查找s,返回第一次找到的位置

s1.find(s2,x) 在字符串s1中從x位置開始查找s2,返回第一次找到的位置

s1.rfind(s2) 在字符串s1中從右邊查找s2,返回第一次找到的位置

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 void f(string a,int la,string b,int lb){
 4     int flag=0;
 5     for(int i=0;i<la;i++){
 6         int j=0,m=i;
 7         while(a[m++]==b[j++]&&a[m-1]!='\0') continue;
 8         if(j==lb+1){ cout<<b<<" is substring of "<<a<<endl;flag=1;break; }
 9     }
10     if(!flag) cout<<"No substring"<<endl;
11 }
12 int main(){
13     string x,y;
14     cin>>x>>y;
15     int lenx=x.size(),leny=y.size();
16     if(lenx>=leny) f(x,lenx,y,leny);
17     else if(lenx<leny) f(y,leny,x,lenx);
18 }

 

s1.rfind(s2,x) 在字符串s1中從右邊x位置開始查找s2,返回第一次找到的位置

如果沒有找到字符串,都是返回-1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM