Menu
CoddyTech

Longest Palindromic Substring

Bạn nhận được một chuỗi s gồm các chữ cái tiếng Anh viết thường. Hãy trả về chuỗi con đối xứng dài nhất: đoạn chữ cái liên tiếp dài nhất đọc xuôi hay ngược đều giống nhau. Nếu có nhiều chuỗi con cùng đạt độ dài lớn nhất, hãy trả về chuỗi bắt đầu ở vị trí xa nhất về bên trái.

Hàm

longestPalindrome(s: string) → string
sstring
chuỗi chữ thường cần tìm kiếm
Trả vềstring
chuỗi con đối xứng dài nhất của s, chuỗi nằm bên trái nhất nếu có nhiều chuỗi cùng độ dài

Ràng buộc

  • 1 ≤ s.length ≤ 2000
  • s chỉ chứa các chữ cái tiếng Anh viết thường.
  • Khi có nhiều chuỗi đối xứng cùng có độ dài lớn nhất, đáp án là chuỗi có chỉ số bắt đầu nhỏ nhất.

Ví dụ

Đầu vào
s = "bananas"
Đầu ra
"anana"
Giải thích
"anana" đọc xuôi hay ngược đều giống nhau và có 5 chữ cái. Mọi chuỗi dài hơn đều không khớp ở hai đầu: "banana" (b, a), "ananas" (a, s) và "bananas" (b, s).
challenge icon

Câu hỏi mở rộng

Bạn có thể tìm đáp án trong thời gian O(n) không?

Đặt lại code
def longestPalindrome(s):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

s = "bananas"

Đầu ra mong đợi

"anana"