今天面试蚂蚁金服大数据开发岗位,一面的代码题,感觉有意思,就记录一下,欢迎各位大佬指正!!!
输入:aaabbca,输出:3a2b1c1a输入:aaabbca,输出:3a2b1c1a
注意:相同字母分隔开,需要重新计数,这是一个小难点哦!!!
package com.lqs;
/**
* @author lqs
* @version 1.0.0
* @date 2023年05月14日 20:26:28
* @packageName com.lqs
* @className MyTest
* @describe TODO
*/
public class MyTest {
/**
* 输入:aaabbca
* 输出:3a2b1c1a
*
* @param args
*/
public static void main(String[] args) {
String str = "aaabbca";
System.out.println(strSum(str));
}
public static String strSum(String str) {
int sum = 1;
String rus = "";
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i - 1) == str.charAt(i)) {
sum++;
} else {
rus = rus + sum + str.charAt(i - 1);
sum = 1;
}
}
return rus + sum + str.charAt(str.length() - 1);
}
}
运行结果如下: