Design an algorithm to encode a list of strings to a single string. The encoded string is then decoded back to the original list of strings.
Implement the encode and decode methods.
Example 1:
Input: ["lint","code","love","you"] Output: ["lint","code","love","you"] Explanation: One possible encode method is: "4#lint4#code4#love3#you"
Example 2:
Input: ["we","say",":","yes"] Output: ["we","say",":","yes"]
Constraints:
0 <= strs.length <= 2000 <= strs[i].length <= 200