【LeetCode】 程序員金典 面試題 01.06. 字符串壓縮 2020年3月16日

題目

題目傳送門:傳送門(點擊此處)
在這裏插入圖片描述

題解

思路

  1. 本來這道題目是不難的,聲明count計數,每個字符和下一個字符進行比較,如果不一樣就把字符和count添加進去,如果一樣則count++
  2. 比較麻煩的點,就是最後的字符還要再判斷一次,所以我就給字符串加上了一個字符再去進行比較了

code

class Solution {
    public String compressString(String S) {
        int len = S.length();
        if (len == 0 || len == 1) return S;

        S += " ";
        StringBuilder sb = new StringBuilder();
        int c = 1;
        for (int i = 0; i < len; i++) {
            if (S.charAt(i) != S.charAt(i + 1)) {
                sb.append(S.charAt(i)).append(c);
                c = 1;
            } else {
                c++;
            }
            if (sb.length() >= len) return S.substring(0, len);
        }

        return sb.toString();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章