input: Write a function to check if a given string is a palindrome by converting it to lowercase and comparing characters from the beginning and the end moving towards the center. If all characters match, return True; otherwise, return False. If the given string is empty, return True.
  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
  
  # Test Cases
  assert is_palindrome("racecar") == True
  assert is_palindrome("hello") == False
  assert is_palindrome("Able was I ere I saw Elba") == True
  assert is_palindrome("") == True
  assert is_palindrome("No lemon, no melon") == 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