刷了一下午的题
记录一道 括号匹配问题
题目:
输入一个表达式,以#号结束,要求该表达式中只有括号,括号的种类有[ ] 、{ }、( ),判断该表达式中的各种括号是否匹配。
输入描述
输入一个只有括号的表达式,以#号结束,占一行输出描述
判断表达式中的括号是否匹配,如果匹配输出YES,否则输出NO。输入样例
{[()]}#输出样例
YES
import java.util.Scanner;
import java.util.Stack;
public class Temp{
public static void main(String[] args) {
System.out.print(panduan());
}
private static String panduan() {
Scanner sc=new Scanner(System.in);
Stack<Character> stack=new Stack<>();
String rs=sc.next();
char ch1= 0;
for (int i=0;i<rs.length();i++) {
ch1 = rs.charAt(i);
if(ch1=='#'){
i=rs.length();
}
else {
if(ch1=='['||ch1=='('||ch1=='{'){
stack.push(ch1);
}
else {
if (stack.empty()){
return "NO";
}
char c=stack.pop();
if((ch1=='}'&&c!='{')||
(ch1==')'&&c!='(')||
(ch1==']'&&c!='['))
{
return "NO";
}
}
}
}
if (!stack.empty()){
return "NO";
}
return "YES";
}
}
今天应该有10多道
现在是晚上23:35:35
复习一下stream流知识
stream.distinct() 去重
收集Stream流
紫米20号充电宝不亏是最强的 可以给笔记本充电 现在学到了12点32充电宝还有20的电
再加上笔记本自带的电源 完全可以学到凌晨两点
虽然300多元 但是感觉真的值