题目

从标准输入读入一个字符串,判断该字符串是否为回文字符串(即正向读和反向读完全相同的字符串)。

输入格式:一行输入一个不含空白字符的字符串。

输出格式:若为回文字符串输出 yes,否则输出 no,末尾换行。

数据范围与约定:字符串长度不超过 1000。

思路与算法

1. 双指针相向收缩
设置左指针 i = 0 和右指针 j = len(s) - 1,比对 s[i] == s[j]。

2. 切片反转极简法
也可以通过 s == s[::-1] 判定,简洁直观。

完整程序

s = input().strip()

# 字符串回文判断:双指针比对
i, j = 0, len(s) - 1
is_palindrome = True
while i < j:
    if s[i] != s[j]:
        is_palindrome = False
        break
    i += 1
    j -= 1

print('yes' if is_palindrome else 'no')

运行示例

输入:

level

输出:

yes