Sunday, July 28, 2013

Run length string encoding

Given a string having charcaters. Return another string which have result in compressed form. for exam for  a string s  = "abc" output  = "a1b1c1" and for string s  =  "aabbcc" output  = a2b2c2



#include<iostream>
using namespace std;
string encode(string s)
{
    if(s.size() <= 0)
        return s;
    
    int i  =0;
    int count   = 1;
    string result = "";
    while(i <  s.size())
    {
        if(i < s.size() - 1  && s[i] == s[i+1])
            count++;
        else 
            {
                result = result + s[i];
                char x  =  count  + '0';
                result += x;
                count  = 1;
            }
        
    
        i++;
    }
    
    return result;
}

int main()
{
    string s;
    cin>>s;
    cout<<encode(s);
    return 0;

}

No comments:

Post a Comment