全部评论
编译器让我只做了一道题。。。。。这个说好的可以自动补全关键字呢?坑爹。。
后面题都没看。。。
写个递归程序 扫描到【 递归的求解子问题 再造出n倍的返回
我是用栈模拟了一发,递归也应该是可以的。。。
和那种合法括号序列的题很像,递归和栈都行,递归比较好写。
楼主这个是上机题吗?
一层一层去括号,不过我没写,就一小时还不让用自己的编译器 贼坑
堆栈嘛,碰到左括号入栈,右括号出栈
public class Main{ public static void main(String[] arg){ Scanner sc=new Scanner(System.in); String s=sc.nextLine(); Stack<String> stack=new Stack<>(); for(int i=0;i<s.length();i++) { String ch=String.valueOf(s.charAt(i)); if(ch.equals("]")) { StringBuilder str=new StringBuilder(); String c; while(!(c=stack.pop()).equals("[")) { str.append(c); } int n=Integer.parseInt(stack.pop()); StringBuilder in=new StringBuilder(); for(int j=0;j<n;j++) in.append(str); stack.push(in.toString()); } else { stack.push(ch); } } StringBuilder re=new StringBuilder(); while(!stack.isEmpty()) { re.append(stack.pop()); } System.out.println(re.reverse().toString()); } } 不知道这样行不行
我觉得用栈来做可以的,
相关推荐
zachsun:华科硕士给13级?有点逆天了吧
点赞 评论 收藏
分享