Menu
CoddyTech

Valid Palindrome

やさしい2つのポインタpython iconjava iconcpp iconc iconjs icon+10

文字列 s が与えられます。英字と数字だけを残し、大文字と小文字を同じ文字として扱って、残った文字列が左から読んでも右から読んでも同じかどうかを判定してください。同じなら true、そうでなければ false を返します。

.、!、?、:、;、-、_ など、それ以外の文字はすべて無視します。s に英字も数字も含まれていない場合、何も残らず、空文字列は回文とみなされます。

関数

isPalindrome(s: string) → boolean
sstring
確認するテキスト(句読点を含む)
戻り値boolean
大文字と小文字を区別せずに、s の文字と数字を両方向から読んで同じ場合は true

制約

  • 1 ≤ s.length ≤ 5 × 104
  • sには英字、数字、句読点. ! ? : ; - _が含まれ、空白はありません。

例

入力
s = "Was_it_a_car_or_a_cat_I_saw?"
出力
true
説明
アンダースコアと疑問符を取り除き、大文字を小文字にすると、wasitacaroracatisawになります。これは逆から読んでも同じです。

lock icon提出時に隠しテスト+25件

challenge icon

発展問題

クリーニングした s のコピーを作らずに、追加メモリ O(1) で判定できますか?

コードをリセット
def isPalindrome(s):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

s = "Was_it_a_car_or_a_cat_I_saw?"

期待値

true