当前位置: 首页 > article >正文

蓝桥杯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

相关文章:

  • 力扣:2.两数相加(O(n)复杂度)
  • Git 使用SSH登陆
  • OpenCV多分辨率模板匹配与容错优化实战指南
  • 顺序表和链表的对比(一)
  • Python----数据分析(Pandas三:一维数组Series的数据操作:数据清洗,数据转换,数据排序,数据筛选,数据拼接)
  • Git 克隆问题排查与解决方案
  • HarmonyOS NEXT开发教程:加速web页面访问
  • ubuntu中的环境变量文件 bashrc、profile、environment简要总结
  • 确保刷新页面后用户登录状态不会失效,永久化存储用户登录信息
  • 大模型面试高频考点-显存占用
  • 大数据学习(72)-zookeeper选举机制
  • Linux top 命令详解:从入门到高级用法
  • Leetcode Hot 100 46.全排列
  • 在LORA训练中,LORA模型的矩阵的行列是多少
  • 《Python深度学习》第五讲:文本处理中的深度学习
  • [HelloCTF]PHPinclude-labs超详细WP-Level 1-FILE协议
  • fastapi+tcp+android在线聊天
  • Vue3是如何利用Proxy进行双向数据绑定的(二)?
  • 【开源免费】基于SpringBoot+Vue.JS智慧生活商城系统(JAVA毕业设计)
  • 从Excel文件中读取数据