Leetcode 271. Encode and Decode Strings
来源:互联网 发布:求购湖南快乐十分源码 编辑:程序博客网 时间:2024/04/30 14:53
271. Encode and Decode Strings
Total Accepted: 11877 Total Submissions: 43568 Difficulty: MediumDesign 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:
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.Hide Similar Problems
思路:
存len+#+item。取的时候头元素一定是数字,指针移动到#取数字读string就可以了。参考这里。
public class Codec { // 12 ms private final char delimiter = '#'; // Encodes a list of strings to a single string. public String encode(List<String> strs) { StringBuilder sb = new StringBuilder(); for(String item : strs){ int len = item.length(); sb.append(len).append(delimiter).append(item); } return sb.toString(); } // Decodes a single string to a list of strings. public List<String> decode(String s) { List<String> res = new ArrayList<String>(); if(s == null) return res; int end = 0, start = 0; while(end < s.length()){ while(s.charAt(end) != delimiter) end++; int len = Integer.valueOf(s.substring(start, end)); res.add(s.substring(end + 1, end + 1 + len)); start = end + len + 1; end = start; } return res; }}// Your Codec object will be instantiated and called as such:// Codec codec = new Codec();// codec.decode(codec.encode(strs));
0 0
- LeetCode 271. Encode and Decode Strings
- Leetcode 271. Encode and Decode Strings
- LeetCode 271. Encode and Decode Strings
- [Leetcode]Encode and Decode Strings
- 271. Encode and Decode Strings
- [leetcode] 271. Encode and Decode Strings 解题报告
- LeetCode 271. Encode and Decode Strings(字符串编解码)
- [Leetcode] 271. Encode and Decode Strings 解题报告
- LeetCode 题解(248) : Encode and Decode Strings
- Encode and Decode Strings
- Encode and Decode Strings
- [LeetCode271]Encode and Decode Strings
- LeetCode-Encode and Decode TinyURL
- leetcode题解-535. Encode and Decode TinyURL
- 【LeetCode】535. Encode and Decode TinyURL
- LeetCode:535. Encode and Decode TinyURL
- Leetcode 535. Encode and Decode TinyURL
- leetcode 535. Encode and Decode TinyURL
- 把字符串转换成Json格式
- lavavel ajax分页
- SSH 常见权限设计四:如何得到<s:a action="url">kkk</s:a>里面的url
- Oracle进程中的 LOCAL=NO 和 LOCAL=YES
- [DP 训练] Longest Run on a Snowboard, UVa 10285
- Leetcode 271. Encode and Decode Strings
- BGRABitmap图像操作的其余内容链接
- Opencv2.4.9源码分析——Neural Networks
- 关闭数据库时SHUTDOWN: waiting for active calls to complete.处理
- 图
- 初学ACM之路(训练大纲)
- 85MaximalRectangle
- Linux使用之一安装安装scim中文输入法
- Design Thinking | 创新设计流程的7个模式