LeetCode 面試01 06 字串壓縮

2021-10-04 21:17:51 字數 1125 閱讀 1660

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若「壓縮」後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母(a至z)

示例1:

輸入:「aabcccccaaa」

輸出:「a2b1c5a3」

示例2:

輸入:「abbccd」

輸出:「abbccd」

解釋:「abbccd"壓縮後為"a1b2c2d1」,比原字串長度更長。

1.第一種方法:雙指標法

(1)解題思路:

(2)**:

/**

* 解法一 雙指標法

* 新建兩個指標i,j

* 新建乙個stringbuilder sb

* 利用while迴圈,i為下表=標,從0開始遍歷字串s

* 令j=i;

* 判定字串的第j的元素是否與第i個元素是否相等

* 若相等,則j指向下一位

* 否則將s的第i個元素新增到sb中

* 再將j-i 即重複字元的個數新增到sb中,

* 再將i指標指向j,進行下乙個迴圈

* 迴圈結束後,將sb轉換為string型別的字串result

* 比較result和s的長度,返回較短的字串

* 結束

*/public

static string compressstring

(string s)

sb.(s.charat

(i))

; sb.

(j-i)

; i=j;

} string result = sb.

tostring()

;if(result.

length()

length()

)else

}

leetcode面試題 01 06 字串壓縮

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 示例2 輸入 ab...

LeetCode 面試題01 06 字串壓縮

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 示例2 輸入 ab...

LeetCode 面試題 01 06 字串壓縮

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 class sol...