Palindrome Index

Sort by

recency

|

1097 Discussions

|

  • + 0 comments

    the solution is: def ispalindromes(s): return s==s[::-1]

    def palindromeIndex(s): n=len(s) if ispalindromes(s): return -1

    for i in range(n//2):
        if s[i]!=s[n-i-1]:
            if ispalindromes(s[:1]+s[i+1:]):
                return i
            else:
                return n-i-1
    return -1
    
  • + 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

    My python solution:

    def palindromeIndex(s):
        # Write your code here
        for i in range(len(s)):
            reverse_s = len(s)-i-1
            if s[i] != s[reverse_s]:
                x = s[:i] + s[i+1:]
                y = x[::-1]
                if x != y:
                    return reverse_s
                else:
                    return i
                
        return -1
    
  • + 0 comments

    Here is my c++ solution : explanation here https://youtu.be/QjHpvMdfnqs,

     bool isPalindrome(string s){
         string r = s;
         reverse(r.begin(), r.end());
         return s == r;
     }
    
    int palindromeIndex(string input) {
        int s, e;
        for(s = 0, e = input.size() - 1; s < e; s++, e--){
            if(input[s] != input[e]) break;
        }
        if(s >= e) return -1;
        string s1 = input, s2 = input;
        s1.erase(s1.begin() + s);
        if(isPalindrome(s1)) return s;
        s2.erase(s2.begin() + e);
        if(isPalindrome(s2)) return e;
        return -1;
    }
    
  • + 0 comments

    Here is my solution in PHP

    s); arr); arr); res);

       `$resCount = count($`res);
       $result = -1;
       if($resCount == 1)
       {
        $result = -1;
       }
       else if(`$resCount == $`arrSum)
       {
        $result = -1;
       }
       else if(`$arr == $`arrRev)
       {
         $result = -1;
       }
       else
       {
        $equal = 'yes';
        $oddPair = '';
        $min = 0;
        foreach (`$res as $`key => $value) {
              if($value%2 !==0)
              {
                $equal = 'no';
                `$oddPair = $`key;
                if(`$value <$`min)
                {
                   `$min = $`value; 
                    `$oddPair = $`key;
                }
    
    
              }
        }
        `$len = count($`arr);
    
        if ($equal == 'no') {
    
             $findIndex = '';
             for (`$i=0; $`i < `$len ; $`i++) { 
                   if(`$arr[$`i] == $oddPair)
                   {
    
                     `$string = implode('', $`arr);
    
                           `$part1 = substr($`string, 0,$i);
                           `$part2 = substr($`string,`$i+1,$`len-1);
    
    
                         `$str1 = $`part1.$part2;
    
                         `$str2 = strrev($`str1);
    
                         if(`$str1 === $`str2)
                         {
    
                            `$findIndex =$`i;
                            break;
                         }
    
                   }
    
    
             }
             `$result = $`findIndex;
        }
    
       }
       return $result;