日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

leetcode 解压缩_leetcode之字符串压缩

發(fā)布時(shí)間:2023/12/31 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 解压缩_leetcode之字符串压缩 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文主要記錄一下leetcode之字符串壓縮

題目

字符串壓縮。利用字符重復(fù)出現(xiàn)的次數(shù),編寫一種方法,實(shí)現(xiàn)基本的字符串壓縮功能。比如,字符串a(chǎn)abcccccaaa會(huì)變?yōu)閍2b1c5a3。若“壓縮”后的字符串沒有變短,則返回原先的字符串。你可以假設(shè)字符串中只包含大小寫英文字母(a至z)。

示例1:

輸入:"aabcccccaaa"

輸出:"a2b1c5a3"

示例2:

輸入:"abbccd"

輸出:"abbccd"

解釋:"abbccd"壓縮后為"a1b2c2d1",比原字符串長(zhǎng)度更長(zhǎng)。

提示:

字符串長(zhǎng)度在[0, 50000]范圍內(nèi)。

來源:力扣(LeetCode)

鏈接:https://leetcode-cn.com/problems/compress-string-lcci

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

題解

class Solution {

public String compressString(String S) {

if (S == null || S.length() == 0) {

return S;

}

char pre = S.charAt(0);

int count = 1;

StringBuilder result = new StringBuilder();

for (int i=1; i< S.length(); i++) {

char cur = S.charAt(i);

if (cur == pre) {

count++;

} else {

result.append(pre)

.append(count);

pre = cur;

count = 1;

}

}

result.append(pre)

.append(count);

if (result.length() >= S.length()) {

return S;

}

return result.toString();

}

}

小結(jié)

這里維護(hù)前一個(gè)字符及其count的字段,之后從第二個(gè)字符開始遍歷,判斷與前一個(gè)字符是否相等,相等則累加,不相等則將該字符的壓縮添加到結(jié)果中,最后再將最后一個(gè)字符的壓縮添加到結(jié)果中。

doc

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的leetcode 解压缩_leetcode之字符串压缩的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。