例题1:
//思路使用栈找出每一句原语,然后岁原语进行处理
import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class L1021 {
public static void main(String[] args) {
// 创建一个集合保存所有的原语
List<String> list=new ArrayList<String>();
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
int len=s.length();
int pre=0;
// 创建一个堆栈进行原语的判断
Deque<Character> stack=new LinkedList<Character>();
for(int i=0;i<len;i++) {
if(s.charAt(i)=='(') {
stack.push('(');
}
if(s.charAt(i)==')') {
stack.poll();
}
if(stack.size()==0) {
list.add(s.substring(pre,i+1));
pre=i+1;
}
}
// 创建一个字符串将结果连接起来
String str="";
for(int i=0;i<list.size();i++) {
String temp=list.get(i);
System.out.println(temp);
if(temp.length()<=2) {
str=str+temp;
continue;
}else {
str=str+temp.substring(1,temp.length()-1);
}
}
System.out.print(str);
}
}