# Check if string remains palindrome after removing given number of characters

• Last Updated : 29 Apr, 2021

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 reamianing 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 ``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

 ``

Output:

`Yes`

Time Complexity: O(1)

My Personal Notes arrow_drop_up