2025-3-29算法打卡

一,回文判定

1.题目描述:

题目描述

给定一个长度为 nn 的字符串 SS。请你判断字符串 SS 是否回文。

输入描述

输入仅 11 行包含一个字符串 SS。

1≤∣S∣≤1061≤∣S∣≤106,保证 SS 只包含大小写、字母。

输出描述

若字符串 SS 为回文串,则输出 YY,否则输出 NN。

2.实例:

示例 1

输入

abcba

输出

Y

示例 2

输入

abcbb

输出

N

3.思路:

  1. 输入读取:使用BufferedReader读取输入字符串,确保处理大输入时的效率。

  2. 双指针初始化:指针i从字符串开头开始,指针j从字符串末尾开始。

  3. 循环比较:当i小于j时,比较两个指针位置的字符。如果不相同,立即标记为非回文并终止循环。

  4. 结果输出:根据比较结果输出"Y"(是回文)或"N"(不是回文)。

4:代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        int i = 0;
        int j = s.length() - 1;
        boolean isPalindrome = true;
        while (i < j) {
            if (s.charAt(i) != s.charAt(j)) {
                isPalindrome = false;
                break;
            }
            i++;
            j--;
        }
        System.out.println(isPalindrome ? "Y" : "N");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值