Java中简单的旋转操作

题目:给定两个字符串A和B。A的旋转操作就是将A 最左边的字符移动到最右边,判断A是否能变成B
public class test2 {
public static void main(String[] args) {

//建立两个字符串
String str1="abcdef";
String str2="defabc";
boolean result = compelet(str1, str2);
System.out.println(result);


}

//A能变成B,那么返回True。如果不能匹配成功,则返回false。
public static boolean compelet(String str1 ,String str2){

for (int i = 0; i < str1.length(); i++) {
str1 = rechange(str1);
if (str1.equals(str2)) {

return true;
}

}
//所有结果都比完,任不满足需求。
return false;

}

//A的旋转操作就是将A 最左边的字符移动到最右边。


//方法一:用substring截取字符串;
public static String rechange(String str){
char c = str.charAt(0);
String end = str.substring(1);
return end+c;
}

//方法二:把字符串变成字符数组,进行转换;
public static String rechange(String str){
char[] arr = str.toCharArray();
char first=arr[0];
for (int i = 1; i < arr.length; i++) {
arr[i-1]=arr[i];
}
arr[arr.length-1]=first;
String result=new String(arr);
return result;

}
}


方法补充:
套路:
    如果我们看到要修改字符串的内容
可以有两个办法:
1.用
substring字符串进行截取;
    2.可以把字符串先变成一个字符数组,然后调整字符数组里面数据,最后再把字符数组变成字符串;




posted on 2024-04-06 17:14  吕小木  阅读(4)  评论(0编辑  收藏  举报