Palindrome Index

  • + 2 comments

    My Python solution doesn't pass many of the testcases! Can anyone help?

    def ispalindrome(s):
        if s[::-1] == s:
            return True
        return False
    
    def palindromeIndex(s):
        s = list(s)
        if ispalindrome(s):
            return -1
        for i in range(len(s) // 2 + 1):
            if ispalindrome(s[:i] + s[i + 1:]):
                return i
            if ispalindrome(s[:len(s) - i - 1] + s[len(s) - i:]):
                return len(s) - i - 1
        return -1
    
    • + 0 comments

      I'm pretty sure that it gives the right answer, but it is not optimized.

    • + 0 comments

      Nevermind, adding a singular if statement somehow made it pass all the test cases!

      def ispalindrome(s):
          if s[::-1] == s:
              return True
          return False
      
      def palindromeIndex(s):
          s = list(s)
          if ispalindrome(s):
              return -1
          for i in range(len(s) // 2 + 1):
              if s[i] != s[-i - 1]:
                  if ispalindrome(s[:i] + s[i + 1:]):
                      return i
                  if ispalindrome(s[:len(s) - i - 1] + s[len(s) - i:]):
                      return len(s) - i - 1
          return -1