Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings.
strs2in Machine 2 should be the same asstrsin Machine 1.
Implement theencodeanddecodemethods.
Note:
The string may contain any possible characters out of 256 valid ascii characters. Your algorithm should be generalized enough to work on any possible characters.
Do not use class member/global/static variables to store states. Your encode and decode algorithms should be stateless.
Do not rely on any library method such asevalor serialize methods. You should implement your own encode/decode algorithm.
A somewhat trival, but accepted solution
// Encodes a list of strings to a single string.stringencode(vector<string>& strs) { string encoded ="";for (string s : strs) {for (char c : s) { encoded += c +1; } encoded +=' '; }return encoded; } // Decodes a single string to a list of strings.vector<string> decode(string s) { vector<string> decoded; string temp ="";for (char c : s) {if (c ==' ') {decoded.push_back(temp);temp.clear(); }else temp += c -1; }return decoded; }