题解:蓝桥云课 1371 回文判定

【题目来源】

蓝桥云课:1.回文判定 - 蓝桥云课 (lanqiao.cn)

【题目描述】

给定一个长度为 \(n\) 的字符串 \(S\)。请你判断字符串 \(S\) 是否回文。

【输入】

输入仅1行包含一个字符串 \(S\)

\(1≤|S|≤10^6\),保证S只包含大小写、字母。

【输出】

若字符串 \(S\) 为回文串,则输出Y,否则输出N。

【输入样例】

abcba

【输出样例】

Y

【算法标签】

《蓝桥云课 1371 回文判定》 #字符串# #模拟# #双指针#

【代码详解】

s = input()  # 获取输入字符串
l, r = 0, len(s)-1  # 初始化左右指针:l指向开头,r指向末尾
ok = 'Y'  # 默认标记为是回文

# 使用双指针法检查回文
while l <= r:
    if s[l] == s[r]:  # 如果左右字符相同
        l += 1       # 左指针右移
        r -= 1       # 右指针左移
    else:            # 如果字符不同
        ok = 'N'     # 标记不是回文
        break        # 提前结束循环

print(ok)  # 输出结果

【运行结果】

abcba
Y
posted @ 2026-03-04 15:08  团爸讲算法  阅读(0)  评论(0)    收藏  举报