先把括号的内容搞掉。处理出一个字符串temp
Corona(Trump)USA<<<Virus
->temp = CoronaUSA<<<Virus
然后再处理temp,遇到'<'就弹出末尾的字符。
#include<iostream> #include<vector> using namespace std; int main() { string s; cin>> s; int len = s.length(); string temp = ""; int k = 0; for(int i = 0 ; i < len ; i++) { if(s[i]=='('){k++;} if(k==0){temp+=s[i];} if(s[i]==')'){k--;} } vector<char> ans; for(int i = 0 ; i < temp.length() ; i++) { if(temp[i]=='<'){ans.pop_back();} else{ans.push_back(temp[i]);} } for(int i= 0 ; i < ans.size() ; i++) { cout<<ans[i]; } return 0; }