input: Write a function to check if a given string is a palindrome. A palindrome is a string that reads the same backward as forward. If the string is empty or contains only one character it should return True. The function should convert the string to lowercase to ensure the comparison is case-insensitive.
  def is_palindrome(s):
    s = s.lower()
    left = 0
    right = len(s) - 1
    
    while left < right:
      if s[left] != s[right]:
        return False
      left += 1
      right -= 1
    return True
  assert is_palindrome("racecar") == True
  assert is_palindrome("Able was I ere I saw Elba") == True
  assert is_palindrome("Hello") == False
  assert is_palindrome("No lemon, no melon") == True
  assert is_palindrome("") == True
output: def is_palindrome(s):
    s = s.lower()
    left = 0
    right = len(s) - 1
    
    while left < right:
      if s[left] != s[right]:
        return False
      left += 1
      right -= 1
    return True