参考代码:
做法一:【寻找规律】
可以发现, 两个字符串拼接起来的,包含全部位移的可能性
import java.util.Scanner; public class Id2862 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1 = scan.next(); String s2 = scan.next(); if( s1.length() < s2.length() ) { String temp = s1; s1 = s2; s2 = temp; } scan.close(); s1 = s1 + s1; if( s1.contains(s2) ) System.out.print(true); else System.out.print(false); } }
做法二:【利用循环移动】
import java.util.Scanner; public class Id2862 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String s1 = scan.next(); String s2 = scan.next(); scan.close(); if( s1.length() < s2.length() ) { String temp = s1; s1 = s2; s2 = temp; } for (int index = 0; index < s1.length(); index++) { if( s1.contains(s2) ) { System.out.println("true"); return; } s1 = s1.substring(1) + s1.charAt(0); } System.out.println("false"); } } 这里循环次数的原因 // CDAA 假设是这个字符串 // DAAC // AACD // ACDA // CDAA 又回到原串,因此长度为几,移动几次就可以了
0.0分
1 人评分
输出正反三角形 (C语言代码)格式错误!!!浏览:1177 |
WU-printf基础练习2 (C++代码)浏览:2061 |
求圆的面积 (C语言代码)浏览:1755 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:575 |
C二级辅导-同因查找 (C语言代码)浏览:618 |
C二级辅导-公约公倍 (C语言代码)浏览:537 |
字符逆序 (C语言代码)浏览:675 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:653 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:692 |
母牛的故事 (C语言代码)浏览:495 |