public class Solution { public static String decode(String str) { // 定义存储解码结果的变量 StringBuffer sb = new StringBuffer(); // 如果输入的字符串为空,直接返回 if (str == null || str.length() == 0) { return sb.toString(); } // 遍历字符串 int index = 0; while (index < str.length()) { //定义存储子串变量 String s = ""; //定义存储个数变量 String n = ""; // 获取子字符串 while (str.charAt(index) >= 'a' && str.charAt(index) <= 'z') { s += str.charAt(index); index++; } // 获取子字符串的个数(在这里进行判断str.charAt(index)时,有可能已经越界了,所以先判断是否索引越界) while (index < str.length() && str.charAt(index) >= '0' && str.charAt(index) <= '9') { n += str.charAt(index); index++; } int number = Integer.parseInt(n); for (int i = 0; i < number; i++) { sb.append(s); } } return sb.toString(); } public static void main(String[] args) { System.out.println(decode("abc123ds3d1kkd3")); } }
点赞 评论

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务