解题思路: 核心思路时解决唯一问题,在这里采用了把比较长的字符串增加一倍的方法来解决位移问题,如:
样例s1=AABCD s2=CDAA
两个s1即 AABCDAABCD,如果s2在这个字符串中,即输出true,否则输出false。
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { string s1,s2,s3,t; cin>>s1>>s2; if(s1.size()<s2.size()) { swap(t,s1); swap(s1,s2); swap(s2,t); } s1+=s1; if(s1.find(s2)!=string::npos) { cout<<"true"; } else cout<<"false"<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:624 |
printf基础练习 (C语言代码)浏览:1790 |
小O的乘积 (C++代码)浏览:746 |
简单的a+b (C语言代码)浏览:645 |
检查金币 (C语言代码)浏览:1412 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:588 |
C二级辅导-阶乘数列 (C语言代码)浏览:660 |
求教大神。。。。1063,统计字符。浏览:11684 |