题解 | 括号配对问题
括号配对问题
https://www.nowcoder.com/practice/57260c08eaa44feababd05b328b897d7
using System.Text;
public class Program {
public static void Main() {
string line = System.Console.ReadLine();
StringBuilder input = new StringBuilder();
for (int i = 0; i < line.Length; i++) {
if (line[i] == '[' || line[i] == ']' || line[i] == '(' || line[i] == ')') {
input.Append(line[i]);
}
}
bool res = true;
StringBuilder zhan = new StringBuilder();
for (int i = 0; i < input.Length; i++) {
if (input[i] == '[' || input[i] == '(') {
zhan.Append(input[i]);
} else if (input[i] == ']') {
if (zhan.Length == 0) {
res = false;
break;
}
if (zhan[zhan.Length - 1] != '[') {
res = false;
break;
} else {
zhan.Remove(zhan.Length-1, 1);
}
} else if (input[i] == ')') {
if (zhan.Length == 0) {
res = false;
break;
}
if (zhan[zhan.Length - 1] != '(') {
res = false;
break;
} else {
zhan.Remove(zhan.Length-1, 1);
}
}
}
//System.Console.WriteLine(res);
if(res){
System.Console.WriteLine("true");
}else{
System.Console.WriteLine("false");
}
}
}