How to check whether each substring range (L to R) from an array of substring ranges is a palindrome in Python

1 Answer

0 votes
def is_palindrome(s: str, left: int, right: int) -> bool:
    while left < right:
        if s[left] != s[right]:
            return False
        left += 1
        right -= 1
        
    return True

def check_ranges_for_palindrome(s: str, ranges: list[list[int]]) -> None:
    for start, end in ranges:
        substring = s[start:end + 1]
        result = "Palindrome" if is_palindrome(s, start, end) else "Not palindrome"
        print(f"{substring}: {result}")


s = "abcddcbeebc"
ranges = [
    [2, 5],
    [5, 10],
    [3, 7]
]

check_ranges_for_palindrome(s, ranges)



'''
run:

cddc: Palindrome
cbeebc: Palindrome
ddcbe: Not palindrome

'''

 



answered 1 hour ago by avibootz

Related questions

...