题目链接:nyist 2(括号匹配)http://acm.nyist.net/JudgeOnline/problem.php?pid=3
这几天刚刚自己看了下java,还有很多不懂,只能编写简单的程序~~呵呵~代码:
import java.io.*;
import java.util.*;
public class Main
{
public static int comp(char c1,char c2)//括号配对类型
{
if((c1=='('&&c2==')')||(c1=='['&&c2==']')) return 1;
return 0;
}
public static void pipei(String s)//判断是否匹配
{
Stack<Character> opnd=new Stack<Character>();
opnd.push(s.charAt(0));
for(int i=1;i<s.length();i++)
{
if(!opnd.empty()&&comp(opnd.peek(),s.charAt(i))==1) opnd.pop();
else opnd.push(s.charAt(i));
}
if(!opnd.empty())
System.out.println("No");
else
System.out.println("Yes");
while(!opnd.empty())
opnd.pop();
}
public static void main(String args[]) throws IOException
{
String s,s1;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
s=buf.readLine();
int n=Integer.parseInt(s);
while(n!=0)
{
s1=buf.readLine();
pipei(s1);
n--;
}
}
}