好久没刷题了,重新开始。
描述:
输入:aaabbccc
返回:a3b2c3
如果返回的长度不小于输入的,则返回输入的String。
简单题,不多说,当做记录。
public static String compressString(String S){
StringBuffer result = new StringBuffer("");
int num =0;
int maxString = S.length();
if(maxString == 0) return S;
char [] charS = S.toCharArray();
char temp = charS[0];
for(char indexS: charS){
if(indexS == temp){
num++;
}else {
result.append(temp);
result.append(num);
num = 1;
temp = indexS;
}
}
result.append(temp);
result.append(num);
return result.length() < maxString ? result.toString() : S;
}
第一次用中国版的LeetCode,提示我提交以后时间复杂度打败了几乎所有的java提交者??不太懂这个是不是假数据。