题目描述:"回文串"就是正反都是一样的字符串,比如"level","moon"等,判断若不是回文串则插入新的元素使新的字符串变成回文串
思路:
- 提示用户输入字符串
- 将字符串变为一个个的char
- 一个指针从前往后遍历,一个指针从后往前遍历,当发现字符不相等时就说明不是回文串
- 查找插入位置:将第二个字符串从第一个字符串的位置开始尝试插入知道判断回文的方法返回true时即找到插入位置
整个过程也很简单,话不多说,来看代码
代码展示:
package com.bittech.Test;
import java.util.Scanner;
/**
* package:com.bittech.Test
* Description:huiwen
* @date:2019/5/22
* @Author:weiwei
**/
public class Test0522 {
public static boolean isHuiwen(String s) {
int i = 0;
int j = s.length() - 1;
while (i < j) {
if (s.charAt(i) != s.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String str1 = sc.nextLine();
String str2 = sc.nextLine();
int count = 0;
for(int i = 0;i<str1.length();i++){
StringBuilder sb = new StringBuilder(str1);
sb.insert(i,str2);
if(isHuiwen(sb.toString())){
count++;
}
}
System.out.println(count);
}
}