刷题记录-小红书-2020-笔记草稿
题目
薯队长写了一篇笔记草稿,请你帮忙输出最后内容。
1.输入字符包括,"(" , ")" 和 "<"和其他字符。
2.其他字符表示笔记内容。
3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。
4."<"表示退格, 删去前面一个笔记内容字符。括号不受"<"影响 。
输入: 输入一行字符串。长度<=10000. 输出: 输出一行字符串,表示最终的笔记内容。 示例1 输入: Corona(Trump)USA<<<Virus 输出: CoronaVirus
import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); boolean isAnnotation = false; Stack<Boolean> stack = new Stack<Boolean>(); String re = ""; int delete = 1; for(int i=0;i<input.length();i++) { //System.out.println(input.charAt(i)); if(input.charAt(i) == '('){ stack.push(true); continue; } if(input.charAt(i)==')'){ stack.pop(); continue; } if(input.charAt(i)=='<') { String temp = re.substring(0, re.length()-1); delete++; re = temp; //System.out.println(re); continue; } if(stack.isEmpty()) { re = re + input.charAt(i); } } System.out.println(re.toString()); } }
AC 90%