public static String reverse(String str){ Stack<Character> stack = new Stack<>(); String s = ""; int len = str.length(); for(int i=0;i<len;i++){ char c = str.charAt(i); if(c!=')'){ stack.push(c); }else{ if(stack.isEmpty()){ return ""; } s = ""; while(!stack.isEmpty()&&stack.peek()!='('){ s+=stack.pop(); } if(stack.isEmpty()||stack.pop()!='('){ return ""; } int l = s.length(); for(int j=0;j<l;j++){ stack.push(s.charAt(j)); } } } s = ""; while(!stack.isEmpty()){ //注意不是s = s + stack.pop(); s = stack.pop()+ s; } return s; }
点赞 2

相关推荐

如题,他是要劝退我了吗
椛鸣:根据你的时间 来给你安排任务 如果你时间长 可能会参与到一些长期的项目 时间短 那就只能做点零工
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务