📅  最后修改于: 2023-12-03 15:12:46.498000             🧑  作者: Mango
实现一个程序,用来判断一个字符串是否为回文字符串。
回文字符串:正反读都一样的字符串,比如"level"、"deed"、"noon"。
一个字符串。
如果输入的字符串是回文字符串,输出"YES",否则输出"NO",不区分大小写。
level
YES
输入的字符串长度不超过 $10^6$。请学习字符串的基本使用方法,在满足时间和空间限制的前提下完成本程序。
判断是否为回文字符串,最直接的方法就是将字符串倒置过来与原串比较,如果相同即为回文字符串。因为本题限制了时间和空间,所以在代码实现上需要注意。
def is_palindrome(s: str) -> str:
left, right = 0, len(s) - 1
while left < right:
if s[left] != s[right]:
return "NO"
left += 1
right -= 1
return "YES"
if __name__ == '__main__':
s = input().strip().lower()
print(is_palindrome(s))
本题虽然不难,但是注意事项中提到该如何使用字符串,也是非常值得程序员们深入学习的内容。通过本题的实现,不仅可以提升对字符串的基本掌握程度,同时还能锻炼代码解决问题的能力,帮助程序员们更好地完成工作。