String Reverse Solution || Codechef Starters - 27

        

String Reverse Solution 

Codechef Starters - 27
Problem Code : STR_REVERSE

Solution :

#include <bits/stdc++.h>
#define ll long long int
#define ull unsigned long long int
using namespace std;

bool isPalindrome(string s)
{
    ll i = 0, j = s.size() - 1;
    while ((i < j))
    {
        if (s[i++] != s[j--])
        {
            return false;
        }
    }
    return true;
}

void solve()
{
    string s;
    cin >> s;
    if (isPalindrome(s))
    {
        cout << "0\n";
    }
    else
    {
        ll n = s.size();
        string p = s;
        reverse(p.begin(), p.end());
        ll i = 0;
        ll j = 0;
        while (i < n)
        {
            if (p[j] == s[i])
            {
                j++;
            }
            i++;
        }
        cout << n - j << "\n";
    }
}

int main()
{
    ll t;
    cin >> t;
    while (t--)
    {
        solve();
    }
}

Comments