字符串

1 .Encode and Decode Strings(271.leetcode)
  • 使用 StringBuilder
  • method: String - str.indexOf(' char', i ) ; str.substring( i, j) 从 index i 到 j - 1
  • StringBuilder - sb.append( a).append(b).append(c) ; a,b,c 可以是 string or char or int
  • Integer.valueOf( String) : String -> int
  • 解题思路: 有时候 在string manipulation 中 pointer 是很好的解决方法。size +" / " + 内容
public String encode(List<String> strs) {
    StringBuilder sb = new StringBuilder();
    for( String str : strs){  
        sb.append(str.length()).append('/').append(str);
    }
    return sb.toString();
}

public List<String> decode(String s) {
    List<String> res = new ArrayList<>();
    int index = 0;
    while(  i < s.length() ){
        int slash = s.indexOf('/', i);
        int size = Integer.valueOf( s.substring(i, slash));
        i = slash + size + 1;
        res.add(s.substring( slash + 1, i));
    }
  return res;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容