Serialize and deserialize a collection of strings into a single one.
Sigiloso
This is a solution that is not limited by chars package com.google.interview2; import java.util.ArrayList; import java.util.List; public class StringSeralization { public static String serialize (List words, List pos){ int currPos = 0; StringBuffer sb = new StringBuffer(); for (String s : words){ pos.add(currPos+s.length()); currPos += s.length(); sb.append(s); } return sb.toString(); } public static List deserialize(String s, List pos){ List list = new ArrayList(); int start = 0; for (Integer end : pos){ list.add(s.substring(start, end)); start = end; } return list; } public static void main(String[] args){ List list= new ArrayList(); list.add("fdsf"); list.add("55 435"); list.add("hdfswzx"); list.add("5345450-- "); List pos = new ArrayList(); String s = serialize(list, pos); System.out.println(s); List newList = deserialize(s, pos); for (String s1 : newList){ System.out.println(s1); } } }