class Solution {
StringBuffer sb=new StringBuffer();
public String interpret(String s) {
if (s == null || s == "")
return s;
//定义一个顺序栈
ArrayList<Character> Stark = new ArrayList<>();
int top = -1;
for (int i = 0; i < s.length(); i++) {
if (Stark.isEmpty()) {
//如果为空 进栈s
top++;
Stark.add(s.charAt(i));
} else if (s.charAt(i) == 'G') {
top++;
Stark.add(s.charAt(i));
} else if (s.charAt(i) == '(') {
top++;
Stark.add(s.charAt(i));
} else if (s.charAt(i) == 'a') {
top++;
Stark.add(s.charAt(i));
} else if (s.charAt(i) == 'l') {
top++;
Stark.add(s.charAt(i));
} else if (s.charAt(i) == ')') {
if (Stark.get(top) == '(') {
Stark.remove(top);
Stark.add('o');
} else {
Stark.remove(top);
Stark.remove(top - 1);
Stark.remove(top - 2);
Stark.add('a');
Stark.add('l');
top = top - 1;
}
}
}
for (int i = 0; i < Stark.size(); i++) {
sb.append(Stark.get(i));
}
return String.valueOf(sb);
}
}