刷题记录-小红书-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%

posted @ 2020-07-10 19:10  垫底研究生小莫  阅读(572)  评论(0编辑  收藏  举报