分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

271. Encode and Decode Strings

发布时间:2023-09-06 01:26责任编辑:苏小强关键词:暂无标签

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.

Machine 1 (sender) has the function:

string encode(vector<string> strs) { ?// ... your code ?return encoded_string;}
Machine 2 (receiver) has the function:
vector<string> decode(string s) { ?//... your code ?return strs;}

So Machine 1 does:

string encoded_string = encode(strs);

and Machine 2 does:

vector<string> strs2 = decode(encoded_string);

strs2 in Machine 2 should be the same as strs in Machine 1.

Implement the encode and decode methods.

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 as eval or serialize methods. You should implement your own encode/decode algorithm.
class Codec {public: ???// Encodes a list of strings to a single string. ???string encode(vector<string>& strs) { ???????string res; ???????for(auto str:strs) res+=to_string(str.size())+"@"+str; ???????return res; ???} ???// Decodes a single string to a list of strings. ???vector<string> decode(string s) { ???????vector<string>res; ???????int head = 0; ???????while(head<s.size()) ???????{ ???????????int pos = s.find("@",head); ???????????int len = stoll(s.substr(head,pos-head)); ???????????string str = s.substr(pos+1,len); ???????????res.push_back(str); ???????????head = pos+1+len; ???????} ???????return res; ???}};// Your Codec object will be instantiated and called as such:// Codec codec;// codec.decode(codec.encode(strs));
 

271. Encode and Decode Strings

原文地址:http://www.cnblogs.com/jxr041100/p/7885717.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved