字符串的统计字符串

链接:https://www.nowcoder.com/questionTerminal/e8b97a6d64ae4304b6f0ff4ecae1589d?orderByHotValue=1&page=1&onlyReference=false来源:牛客网

给定一个字符串str,返回str的统计字符串。例如“aaabbbbcccd”的统计字符串为“a_3_b_4_c_3_d_1”。

输入

1
offerofferzainaliiiiii

输出

1
o_1_f_2_e_1_r_1_o_1_f_2_e_1_r_1_z_1_a_1_i_1_n_1_a_1_l_1_i_6

示例2

输入

1
hhhaaa

输出

1
h_3_a_3

备注:

1
时间复杂度O(n) 空间复杂度O(n)

Java代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
public class Main{

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String s = sc.next();
int n = 1;
for(int i = 1;i < s.length(); i++){

if(s.charAt(i) == s.charAt(i-1)){
n++;
}else{
System.out.print(s.charAt(i-1)+"_"+n+"_");
n = 1;
}
}
System.out.println(s.charAt(s.length()-1)+"_"+n);
}

}