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.
var encode = function (strs) { let res = ''; for (let char of strs) { res += (char.length).toString() + `#` + char; } return res; } var decode = function (s) { let res = []; for (let i = 0; i < s.length; i++) { let j = i; while (s[j] != '#') { j++; } let wordLength = parseInt(s.substring(i, j)); res.push(s.substring(j + 1, j + 1 + wordLength)); i = j + wordLength; } return res; }
Time Complexity : O(n)
Top comments (0)