Open In App

Check if string remains palindrome after removing given number of characters

Last Updated : 03 Oct, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a palindromic string str and an integer N. The task is to find if it is possible to remove exactly N characters from the given string such that the string remains a palindrome.

Examples: 

Input: str = "abba", N = 1 
Output: Yes 
Remove 'b' and the remaining string 
"aba" is still a palindrome.

Input: str = "aba", N = 1 
Output: Yes 


 


Approach: It can be observed that it is always possible to remove any number of characters less than or equal to its length from a palindromic string such that the resultant string remains a palindromic string.
Below is the implementation of the above approach:
 

C++
// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;

// Function that returns true if str
// remains a palindrome after removing
// exactly N characters from it
bool isPossible(string str, int n)
{
    // Find the length of the string
    int len = str.length();

    // If it is possible
    if (len >= n)
        return true;

    return false;
}

// Driver code
int main()
{
    string str = "abccba";
    int n = 4;

    if (isPossible(str, n))
        cout << "Yes";
    else
        cout << "No";

    return 0;
}
Java
// Java implementation of the approach
class GFG 
{
    
    // Function that returns true if str
    // remains a palindrome after removing
    // exactly N characters from it
    static boolean isPossible(String str, int n)
    {
        // Find the length of the string
        int len = str.length();
    
        // If it is possible
        if (len >= n)
            return true;
    
        return false;
    }
    
    // Driver code
    public static void main (String[] args)
    {
        String str = "abccba";
        int n = 4;
    
        if (isPossible(str, n))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}

// This code is contributed by AnkitRai01
Python
# Python3 implementation of the approach

# Function that returns true if str 
# remains a palindrome after removing 
# exactly N characters from it
def isPossible(str, n):
    
    # Find the length of the string
    l = len(str)

    # If it is possible
    if (l >= n):
        return True
    
    return False

# Driver code
str = "abccba"
n = 4

if(isPossible(str, n)):
    print("Yes")
else:
    print("No")
C#
// C# implementation of the approach
using System;

class GFG 
{
    
    // Function that returns true if str
    // remains a palindrome after removing
    // exactly N characters from it
    static bool isPossible(String str, int n)
    {
        // Find the length of the string
        int len = str.Length;
    
        // If it is possible
        if (len >= n)
            return true;
    
        return false;
    }
    
    // Driver code
    public static void Main(String[] args)
    {
        String str = "abccba";
        int n = 4;
    
        if (isPossible(str, n))
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
}

// This code is contributed by PrinciRaj1992
JavaScript
<script>

// Function that returns true if str
// remains a palindrome after removing
// exactly N characters from it
function isPossible(str, n)
{
    // Find the length of the string
    var len = str.length;

    // If it is possible
    if (len >= n)
        return true;

    return false;
}

var str = "abccba";
    var n = 4;

    if (isPossible(str, n))
        document.write("Yes");
    else
        document.write("No");



</script>

Output: 
Yes

 

Time Complexity: O(1)
Auxiliary Space: O(1) 


Next Article

Similar Reads