蓝桥杯24年真题:回文字符串
6.回文字符串 - 蓝桥云课
我的错误思路:
1.我当时想 的有点多,我还在考虑中间的那个位置的元素只能是mn o uvwx ,我以为最中间的那个元素也必须对称【捂脸】,
2.我没有理解开头的含义,我以为开头就只能是在这个字符串的前面加入lpb
package Lanqiao;
import java.util.Scanner;
/*
* 错误思路:
* 我先判断字符串是不是是回文,
* 如果不是的话我就想判断是否可以通过向字符串前面添加lqp 来让字符串变成回文
*
* */
public class L19718 {
public static void main(String[] args) {
//
Scanner in = new Scanner(System.in);
int n = in.nextInt();
String [] s = new String[n] ;
for (int i = 0; i <n ; i++) {
s[i] = in.next();
int len = s[i].length();
int flage = 0;
// 1.如果这个字符串是回文,直接输出yes
for (int j = 0; j <(len+1)/2 ; j++) {
if(s[j].equals(s[len-j])){
flage = -1;
}
}
if(flage==0){
System.out.println("Yes");
}
String str ;
// 字符不是回文判断是否可以变成回文
for (int j = 0; j <len ; j++) {
if(s[j+1].equals("q")||s[j+1].equals("l")
||s[j+1].equals("b")){
str = s.s
}
}
}
}
}
然后我看了一遍人家的大概思路,感觉自己又行了,结果,我看了好几遍人家的代码感觉自己好像没问题呀,思路都一样
看了半个点 ,以为是自己是用next()来接受输入的字符串的问题,取了个厕所又思考了半天【捂脸】,回来突然发现人家最后是返回true的,结果我给返回false了哎我真是服了自己了
package Lanqiao;
import java.util.Scanner;
/*
* 错误思路:
* 我先判断字符串是不是是回文,
* 如果不是的话我就想判断是否可以通过向字符串前面添加lqp 来让字符串变成回文
*
* */
public class L19718 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int t = in.nextInt();
// in.nextLine();
while (t-->0){
String s = in.next();
System.out.println(f(s)?"Yes":"No");
}
in.close();
}
static Boolean f (String s){
// 最左边 和最右边的元素的位置
int l = 0;
int r = s.length()-1;
while (l<r){
// 1.本身就是回文字符串
if(s.charAt(l) == s.charAt(r)){
// 左指针右移,右指针左移
l++;
r--;
}
// 如果么右指针走都某个位置之后,左右指针的元素不对称了
// 就判断右指针的指向的下标对应的元素是不是l b q
// 如果是这三个的话,右指针可以直接左移,mo'ren
else {
if (s.charAt(r) == 'l' || s.charAt(r) == 'b' || s.charAt(r) == 'q') {
r--;
} else {
return false;
}
}
}
// 判断到最后都没有判断出他不是回文数,那么他就是回文数字
return true;
}
}
加油,兄弟们,为了拿回报名费,最好能进入国赛,公费旅游哈哈
原文地址:https://blog.csdn.net/2301_76231651/article/details/146277642
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/592041.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/592041.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!