Menu
CoddyTech

Valid Palindrome

简单双指针python iconjava iconcpp iconc iconjs icon+10

给你一个字符串 s。只保留其中的字母和数字,将大写字母和小写字母视为相同的字母,然后判断剩下的内容从左向右读和从右向左读是否相同。如果相同,返回 true,否则返回 false。

其他所有字符,例如 .、!、?、:、;、- 或 _,都会被忽略。如果 s 中没有任何字母或数字,剩下的内容就是空文本,而空文本也算回文。

函数

isPalindrome(s: string) → boolean
sstring
要检查的文本,包括标点
返回值boolean
如果忽略大小写,s 中的字母和数字正着读和反着读都相同,则结果为真

约束条件

  • 1 ≤ s.length ≤ 5 × 104
  • s 包含英文字母、数字和标点符号 . ! ? : ; - _,且不含空格。

示例

输入
s = "Was_it_a_car_or_a_cat_I_saw?"
输出
true
解释
去掉下划线和问号,再把大写字母改成小写:你会得到 wasitacaroracatisaw,它正着读和倒着读都一样。
challenge icon

进阶

你能否在不创建 s 的清理副本的情况下,仅使用 O(1) 额外内存来判断?

重置代码
def isPalindrome(s):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

s = "Was_it_a_car_or_a_cat_I_saw?"

预期输出

true