LeetCode Question: 1328. Break a Palindrome (Level : Medium)
Note:- Scroll horizontally to see the full line of code.
class Solution
{
public:
string breakPalindrome(string palindrome)
{
int n = palindrome.length();
if (n == 1)
{
return "";
}
if (n & 1)
{
int start = 0, end = n - 1;
while (start != end)
{
if (palindrome[start] == 'a' && palindrome[end] == 'a')
{
start++;
end--;
}
else
{
break;
}
}
if (start == end)
{
palindrome[n - 1] = 'b';
return palindrome;
}
}
for (int i = 0; i < n; i++)
{
if (palindrome[i] != 'a')
{
palindrome[i] = 'a';
return palindrome;
}
if (i == n - 1)
{
if (palindrome[i] != 'a')
{
palindrome[i] = 'a';
}
else
{
palindrome[i] = 'b';
}
return palindrome;
}
}
return palindrome;
}
};
Comments
Post a Comment