package 字符串;
public class Main {
/**
* 1、判断一个字符串是回文字符
*
* 思路一:整个串逆序,看与原串是否相同
* 思路二:从两端往中间依次比较,遇到不相同就返回false
*/
public static boolean huiwen1(String str1) {
//利用StringBuffer的reverse()方法反转,再判断与原来的串是否相等。
String strNew = new StringBuffer(str1).reverse().toString();
if (strNew.equals(str1))
return true;
else
return false;
}
public static boolean huiwen2(String str2){
char[] charArr = str2.toCharArray();
int len = charArr.length;
int left = 0;
int right = len -1;
boolean ishuiei = true;
//判断头尾对称处的字符是否相同
while (left++ <= right--) {
if (charArr[left]!=charArr[right]){
ishuiei = false;
break;
}
}
return ishuiei;
}
/**
* 2、判断两个字符串是否互为旋转词
* <p>
* 旋转词的概念:将a的任意一部分挪到后面形成的字符串。如:a="abcd",b="cdab",true(将ab移到后面了)
* <p>
* 思路:将a串拼接双份,再看其中是否包含b串
*/
public static boolean xuanzhuanci(String a, String b) {
String aDouble = a +a;
return aDouble.contains(b);
}
public static void main(String[] args) {
String str = "123321";
String str1 = "321123";
// System.out.println(huiwen2(str));
System.out.println(xuanzhuanci(str,str1));
}
}