Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra tiền tố và hậu tố của chuỗi có phải palindrome trong Python

Cho chuỗi s. Kiểm tra xem chuỗi có tiền tố và hậu tố là palindrome hay không (độ dài tiền tố/hậu tố ≥ 2).

Ví dụ: "levelishighforracecar" → tiền tố "level", hậu tố "racecar" đều là palindrome → True.

Giải thuật

  • Tìm tiền tố palindrome ngắn nhất (độ dài ≥ 2) bằng cách kiểm tra từ độ dài 2 đến n.
  • Nếu không tìm thấy → False.
  • Tìm hậu tố palindrome (độ dài ≥ 2) tương tự.
  • Nếu tìm thấy cả hai → True.

Mã ví dụ

def is_palindrome(s):
    return s == s[::-1]

def solve(s):
    l = len(s)
    for i in range(2, l + 1):
        if is_palindrome(s[0:i]):
            break
        if i == (l + 1):
            return False
    for i in range(2, l + 1):
        if is_palindrome(s[l - i : l]):
            return True
    return False

s = "levelishighforracecar"
print(solve(s))

Đầu vào

"levelishighforracecar"

Đầu ra

True