题目要求:
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
1、左括号必须用相同类型的右括号闭合。
2、左括号必须以正确的顺序闭合。
例如:
示例1:
输入:s="()"
输出:true
示例2:
输入:s="(){}"
输出:true
示例3:
输入:s="([)]"
输出:false
代码:
public class Solution { public bool IsValid(string s) { int n = s.Length; if (n % 2 == 1 || s.Length ==0)//判断是否为2的倍数,因为括号要成对出现 { return false; } for (int i = 0; i < n/2+1; i++)//外循环:因为括号是成对出现的,所以比较n/2+1次就可以比完全部都内容 { for (int j = 0; j < s.Length-1; j++)//内循环为具体比较括号是否正确 { if ((s[j] == '(' && s[j+1]==')') || (s[j] =='[' && s[j+1]==']') || (s[j] == '{' && s[j + 1] == '}'))//判断括号是否为()[]{},成对的对比 { s = s.Remove(j,2);//如果判断正确则把这对括号移出去 } } } if (s.Length == 0)//直到把所有的括号移出去 return true; return false; } }