编程之美–字符串移位包含的问题
题目
给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。
思路和解法在代码注释中
public class RotateContain {
public static void main(String[] args) {
char[] src = {'A', 'A', 'B', 'C', 'D'};
char[] des = {'C', 'D', 'A', 'A'};
Boolean istrue = rotateContain2(src, des);
System.out.println(istrue);
}
//解法一:对s1循环移位,再进行字符串的包换判断
public static boolean rotateContain(char[] src, char[] des){
int len = src.length;
for (int i = 0; i < len; i++) {
//将字符数组的一个字符储存起来
char temp = src[0];
for(int j = 0; j < len - 1; j++){
//将后一个字符覆盖前一个字符
src[j] = src[j+1];
}
//将取出的第一个字符赋值给src字符数组的最后一位
src[len - 1] = temp;