
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Check for Palindrome After Character Replacement in C++
Consider we have a string and some queries in set Q. Each query contains a pair of integers i and j. and another character c. We have to replace characters at index i and j with the new character c. And tell if the string is palindrome or not. Suppose a string is like “AXCDCMP”, if we use one query like (1, 5, B), then the string will be “ABCDCBP”, then another query like (0, 6, A), then it will be “ABCDCBA”, this is palindrome.
We have to create one query using indices i, j, then replace the characters present at indices i, j in the string, with c.
Example
#include <iostream> using namespace std; class Query{ public: int i, j; char c; Query(int i, int j, char c){ this->i = i; this->j = j; this->c = c; } }; bool isPalindrome(string str){ int n = str.length(); for (int i = 0; i < n/2 ; i++) if (str[i] != str[n-1-i]) return false; return true; } bool palindromeAfterQuerying(string str, Query q[], int n){ for(int i = 0; i<n; i++){ str[q[i].i] = q[i].c; str[q[i].j] = q[i].c; if(isPalindrome(str)){ cout << str << " is Palindrome"<< endl; }else{ cout << str << " is not Palindrome"<< endl; } } } int main() { Query q[] = {{1, 5, 'B'}, {0, 6, 'A'}}; int n = 2; string str = "AXCDCMP"; palindromeAfterQuerying(str, q, n); }
Output
ABCDCBP is not Palindrome ABCDCBA is Palindrome
Advertisements