关注
解决第一题的方法其实和leetcode上394. Decode String很像,如果用迭代思想的话需要两个 stack 来辅助运算,一个用来保存个数,一个用来保存字符串。 我们遍历输入字符串,如果遇到数字,更新计数变量num。如果遇到'[',把当前字符串t压入字符串栈中,并将t清零。如果遇到'|',我们把当前num压入数字栈中,并把num清零。如果遇到']',我们取出数字栈中顶元素,存入变量n,然后给字符串栈的顶元素循环加上n个当前t字符串,然后更新t的值。如果遇到字母,我们直接加入当前字符串t中即可。一定要注意是把当前的字符串t重复数字栈顶的次数后加到字符串栈顶的字符后面(有点儿绕🤣)代码如下: import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
StringBuilder t = new StringBuilder("");
int num = 0;
Deque<Integer> stackNum = new ArrayDeque<>();
Deque<StringBuilder> stackStr = new ArrayDeque<>();
for(int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if(c >= '0' && c <= '9'){
num = 10 * num + c - '0';
}else if(c == '['){
stackStr.push(t);
t = new StringBuilder("");
}else if(c == '|'){
stackNum.push(num);
num = 0;
}else if(c == ']'){
int n = stackNum.pop();
StringBuilder sb = stackStr.pop();
for(int j = 0; j < n; j++){
sb.append(t);
}
t = sb;
}else{
t.append(c);
}
}
System.out.println( t.toString());
}
}
查看原帖
点赞 评论
相关推荐
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
星纵物联
| 校招
| 12个岗位
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
深信服
| 校招
| 14个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
深信服
| 校招
| 14个岗位
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 985计算机老学长掏心窝子:当年我踩过的坑,希望你们能绕开3.6W
- 2... 想要在大厂生存必须要学会提效5691
- 3... 腾讯实习基地-ieg-Level Infinite-一面5383
- 4... 字节飞书后端面试5342
- 5... 腾讯-后台开发-腾讯hr部门 一面4718
- 6... 实习入职第一天,应该做点啥❓4330
- 7... 2.17校招&实习招聘信息汇总4149
- 8... 实习第二天,被老员工欺负了3905
- 9... 重生归来,鼠鼠接手北区业务,这一次......3654
- 10... 【已挂】影石Insta360|嵌入式软件|日常实习一面3091
正在热议
更多
# 读研or工作,哪个性价比更高? #
24624次浏览 333人参与
# 如果重来一次你还会读研吗 #
154686次浏览 1701人参与
# 科大讯飞求职进展汇总 #
258956次浏览 2595人参与
# 秋招感动瞬间 #
11008次浏览 103人参与
# 阿里巴巴创始人马云回国 #
14262次浏览 87人参与
# 职场新人生存指南 #
195853次浏览 5398人参与
# 你最满意的offer薪资是哪家公司? #
11965次浏览 109人参与
# 长光卫星求职进展汇总 #
27605次浏览 184人参与
# 文科生还参加今年的春招吗 #
3419次浏览 29人参与
# 追觅科技求职进展汇总 #
8544次浏览 58人参与
# 选择和努力,哪个更重要? #
42337次浏览 472人参与
# 招聘要求与实际实习内容不符怎么办 #
41592次浏览 469人参与
# 打工人的工作餐日常 #
24742次浏览 221人参与
# 机械制造岗投递时间线 #
19329次浏览 324人参与
# 小红书求职进展汇总 #
40465次浏览 346人参与
# 影石Insta360求职进展汇总 #
107719次浏览 969人参与
# 如果再来一次,你还会学硬件吗 #
102846次浏览 1236人参与
# 机械人选offer,最看重什么? #
68627次浏览 433人参与
# 机械人怎么评价今年的华为 #
180366次浏览 1485人参与
# 滴!实习打卡 #
554929次浏览 6009人参与