Convierta la string en una string de palíndromo cambiando solo un carácter

Dada una string str. Compruebe si es posible convertir la string en una string de palíndromo cambiando solo un carácter.
Ejemplos: 
 

Input : str = "abccaa"
Output : Yes
We can change the second last character
i.e. 'a' to 'b' to make it palindrome string

Input : str = "abbcca"
Output : No
We can not convert the string into palindrome
string by changing only one character.

C++

// CPP program to Check if it is
// possible to convert the string
// into palindrome string by changing
// only one character.
#include<bits/stdc++.h>
using namespace std;
 
// Function to check if it is possible
// to convert the string into palindrome
bool checkPalindrome(string str){
     
    int n = str.length();       
   
    // Counting number of characters
    // that should be changed.
    int count = 0;
    for (int i = 0; i < n/2; ++i)
        if (str[i] != str[n - i - 1])
            ++count;
     
    // If count of changes is less than
    // or equal to 1
    return (count <= 1);
}
 
// Driver function.
int main()
{
    string str = "abccaa";   
    if (checkPalindrome(str))
       cout << "Yes" << endl;
    else
       cout << "No" << endl;
     
    return 0;
}

Java

// Java program to Check if it is
// possible to convert the string
// into palindrome string by changing
// only one character.
import java.io.*;
 
class GFG {
     
    // Function to check if it is possible
    // to convert the string into palindrome
    static boolean checkPalindrome(String str){
     
    int n = str.length();    
 
    // Counting number of characters
    // that should be changed.
    int count = 0;
     
    for (int i = 0; i < n/2; ++i)
     
        if (str.charAt(i) != str.charAt(n - i - 1))
            ++count;
     
    // If count of changes is less than
    // or equal to 1
    return (count <= 1);
    }
     
// Driver Function   
public static void main(String[] args) {
     
    String str = "abccaa";
         
    if (checkPalindrome(str))
     
        System.out.println("Yes");
    else
        System.out.println("No");
         
    }
     
}
 
// This code is contributed by vt_m

Python3

# Python program to Check
# if it is possible to
# convert the string into
# palindrome string by
# changing only one character.
 
# Function to check if
# it is possible to
# convert the string
# into palindrome
def checkPalindrome(str) :
     
    n = len(str)
     
    # Counting number of
    # characters that
    # should be changed.
    count = 0
    for i in range(0, int(n / 2)) :
        if (str[i] != str[n - i - 1]) :
            count = count + 1
     
    # If count of changes
    # is less than
    # or equal to 1
    if(count <= 1) :
        return True
    else :
        return False
 
# Driver Code
str = "abccaa"
if (checkPalindrome(str)) :
    print ("Yes")
else :
    print ("No")
     
# This code is contributed by
# Manish Shaw(manishshaw1)

C#

// C# program to Check if it is
// possible to convert the string
// into palindrome string by changing
// only one character.
using System;
 
class GFG {
     
    // Function to check if it is possible
    // to convert the string into palindrome
    static bool checkPalindrome(string str){
     
        int n = str.Length;
 
        // Counting number of characters
        // that should be changed.
        int count = 0;
         
        for (int i = 0; i < n / 2; ++i)
         
            if (str[i] != str[n - i - 1])
                ++count;
         
        // If count of changes is less than
        // or equal to 1
        return (count <= 1);
    }
     
    // Driver Function
    public static void Main()
    {     
        string str = "abccaa";
             
        if (checkPalindrome(str))
         
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
             
        }
     
}
 
// This code is contributed by vt_m

PHP

<?php
// PHP program to Check if it is
// possible to convert the string
// into palindrome string by changing
// only one character.
 
// Function to check if it is possible
// to convert the string into palindrome
function checkPalindrome($str)
{
     
    $n = strlen($str);    
     
    // Counting number of characters
    // that should be changed.
    $count = 0;
    for ($i = 0; $i < $n/2; ++$i)
        if ($str[$i] != $str[$n - $i - 1])
            ++$count;
     
    // If count of changes
    // is less than
    // or equal to 1
    return ($count <= 1);
}
 
// Driver Code
{
    $str = "abccaa";
    if (checkPalindrome($str))
        echo "Yes" ;
    else
        echo "No" ;
     
    return 0;
}
 
// This code is contributed by nitin mittal.
?>

Javascript

<script>
    // Javascript program to Check if it is
    // possible to convert the string
    // into palindrome string by changing
    // only one character.
     
    // Function to check if it is possible
    // to convert the string into palindrome
    function checkPalindrome(str){
 
        let n = str.length;       
 
        // Counting number of characters
        // that should be changed.
        let count = 0;
        for (let i = 0; i < parseInt(n/2, 10); ++i)
            if (str[i] != str[n - i - 1])
                ++count;
 
        // If count of changes is less than
        // or equal to 1
        return (count <= 1);
    }
     
    let str = "abccaa";   
    if (checkPalindrome(str))
       document.write("Yes");
    else
       document.write("No");
   
  // This code is contributed by divyesh072019.
</script>

Publicación traducida automáticamente

Artículo escrito por Sagar Shukla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *