关注
棒!添加注解版! public static String parse(String str){
StringBuilder sb = new StringBuilder();
LinkedList<Integer> len = new LinkedList<>();
String temp = ""; // 记录括号内的字符串
// 针对字符串,处理顺序依次为:去括号,统计出现次数,拼接结果
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(c == '('){
len.add(sb.length());
continue;
}
if(c == ')'){
// 移除上一个括号开始时的下标
int newLeftIndex = len.remove(len.size()-1);
temp = sb.substring(newLeftIndex);
i++;
}
// 处理数字
int start = i;
while (i<str.length() && str.charAt(i)>='0' && str.charAt(i)<='9'){
i++;
}
// 获取字符后面的数字
if(i-start>=1){
int count = Integer.valueOf(str.substring(start,i));
for(int k=0;k<count-1;k++){
if (temp==""){
sb.append(str.charAt(start-1));
}else {
sb.append(temp);
}
}
temp = "";
i--;//若存在数字,此时i指向的字符并没有经过上述判断,所以需要减去1.
}else {
sb.append(str.charAt(i));
}
}
return sb.toString();
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
萨德楽陈:能进去你就是最牛逼的,不会学就完了 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 第一次找实习,我建议__ #
8508次浏览 115人参与
# 如果今天是你的last day,你会怎么度过? #
40916次浏览 276人参与
# 联影求职进展汇总 #
94483次浏览 478人参与
# 秋招暂停,我将对以下公司做出处罚__ #
16463次浏览 75人参与
# 你听到的“最没用”的秋招建议 #
14216次浏览 165人参与
# 从mentor身上学到了__ #
8830次浏览 130人参与
# 如果有时光机,你最想去到哪个年纪? #
60206次浏览 831人参与
# 2025秋招体验点评 #
36529次浏览 346人参与
# 非技术岗简历怎么写 #
258084次浏览 3093人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
2631次浏览 17人参与
# 工作以后,你父母对你啥态度 #
6359次浏览 68人参与
# 小红书取消大小周 #
78133次浏览 180人参与
# 你遇到过哪些神仙同事 #
120025次浏览 753人参与
# 什么样的公司千万别去 #
9102次浏览 79人参与
# 机械人的保底公司是哪一家? #
42737次浏览 139人参与
# 薪资要看总包还是月薪? #
12099次浏览 138人参与
# 选完offer后,你后悔学机械吗? #
45316次浏览 257人参与
# 四大天坑是哪四家? #
87851次浏览 222人参与
# 秋招签约后的心态变化 #
103093次浏览 917人参与
# 机械人值得去的半导体企业 #
30458次浏览 179人参与
# 你在职场上见过哪些“水货”同事 #
12364次浏览 103人参与
安克创新 Anker公司福利 581人发布