Menu
CoddyTech

Longest Palindromic Substring

小文字の英字からなる文字列 s が与えられます。その最長の回文部分文字列、つまり前から読んでも後ろから読んでも同じになる、連続した文字の最長の並びを返してください。最長の長さを持つ部分文字列が複数ある場合は、最も左から始まるものを返してください。

関数

longestPalindrome(s: string) → string
sstring
検索する小文字の文字列
戻り値string
s の最長回文部分文字列。同じ長さのものが複数ある場合は、最も左にあるもの

制約

  • 1 ≤ s.length ≤ 2000
  • sには小文字の英字のみが含まれています。
  • 最長の長さを持つ回文が複数ある場合、答えは開始インデックスが最小のものです。

例

入力
s = "bananas"
出力
"anana"
説明
"anana"は両端から読んでも同じで、5文字です。これより長い部分はありません。"banana"はbで始まりaで終わり、"ananas"はaで始まりsで終わります。また、単語全体はbで始まりsで終わります。

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

challenge icon

発展問題

O(n) 時間で答えを見つけられますか?

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

ケース1

ケース2

ケース3

入力

s = "bananas"

期待値

"anana"