问题描述:
薯队长写了一篇笔记草稿,请你帮忙输出最后内容。
1.输入字符包括,"(" , ")" 和 "<"和其他字符。
2.其他字符表示笔记内容。
3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。
4."<"表示退格, 删去前面一个笔记内容字符。括号不受"<"影响 。
输入格式:
输入一行字符串。长度<=10000.
输出格式:
输出一行字符串,表示最终的笔记内容。
示例输入:
Corona(Trump)USA<<<Virus
示例输出:
CoronaVirus
代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
Stack<String> stack = new Stack<String>();
String tmp = "";
for (int i = 0; i < line.length(); i++) {
String c = line.charAt(i) + "";
if (!c.equals(")") && !c.equals("<")) {
stack.push(c);
} else if (c.equals(")")) {
tmp = stack.pop();
while (!tmp.equals("(")) {
tmp = stack.pop();
}
} else if (c.equals("<")) {
stack.pop();
}
}
for (String str : stack) {
System.out.print(str);
}
}
}