import java.util.Optional;
/**
* Author:SunLala
* Date: 2022/3/22
* 功能描述:(给定一个字符串 str,返回str的统计字符串。例如,“aaabbadddffc"的统计字符串为"a_3_b_2_a_1_d_3_f_2_c_1)
*/
public class Test7 {
public static String getStatisticStr(String str){
if(!Optional.ofNullable(str).isPresent()){ //如果字符串是空字符串,直接返回空串
return "";
}
char[] chars = str.toCharArray();
StringBuffer sb = new StringBuffer(); //这里用stringBuffer是因为节省内存
int count = 1; //只要某字符遍历到,它的默认统计数就是1,所以这里记为1
for (int i = 0; i < chars.length; i++) { //遍历数组
if(i == 0){ //第一位直接拼接
sb.append(chars[i]);
}else{ //非第一位的处理
if(chars[i] == chars[i-1]){ //如果和前一位相同则count+1
count += 1
算法刷题|字符串——给定一个字符串 str,返回str的统计字符串以及指定索引找到对应字符
于 2022-03-22 22:27:07 首次发布
这篇博客分享了作者在实现字符串统计功能时的经验,包括使用StringBuffer的优势、代码优化建议以及遇到的构造函数问题。同时,提出了处理特殊情况和多位数计算的思考。
摘要由CSDN通过智能技术生成