BUPT JAVA: 括号匹配二

括号匹配二

题目描述:

假设表达式中包含三种括号: (), [], {}. 其嵌套顺序随意,即 (){[{}]} 均为正确格式, [(])(()] 均为不正确格式.
现给出一个只包含这三种括号的括号序列, 试判断该括号序列是否合法.

输入:

只包含一行, 为只包含 (), [], {}的括号序列. (序列长度不超过 100 个字符)

输出:

若括号序列合法, 输出 YES, 反之输出 NO.

输入样例:

1
{([]())}

输出样例:

1
YES

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 括号匹配二
// 2023/05/22
// 一个 LeeCode 上的题目吧

import java.util.LinkedList;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
var linkedList = new LinkedList<Character>();
var input = new Scanner(System.in);
var s = input.nextLine();

for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') {
linkedList.addLast(')');
} else if (s.charAt(i) == '[') {
linkedList.addLast(']');
} else if (s.charAt(i) == '{') {
linkedList.addLast('}');
} else if (linkedList.isEmpty() || s.charAt(i) != linkedList.removeLast()) {
System.out.println("NO");
return;
}
}

if (linkedList.isEmpty())
System.out.println("YES");
else
System.out.println("NO");
}
}

2023-05-22 
IP属地: 北京

BUPT JAVA: 括号匹配二
https://dengwuli.github.io/2023/05/22/BUPT_JAVA/括号匹配二/
作者
DengWuLi
发布于
2023年5月22日
更新于
2023年7月14日
许可协议