Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
An input string is valid if:
有效字符串需满足:
Open brackets must be closed by the same type of brackets.
左括号必须用相同类型的右括号闭合。
Open brackets must be closed in the correct order.
左括号必须以正确的顺序闭合。
Example 1:
Input: s = "()"
Output: true
示例 1:
输入:s = "()"
输出:true
Example 2:
Input: s = "()[]{}"
Output: true
示例 2:
输入:s = "()[]{}"
输出:true
Example 3:
Input: s = "(]"
Output: false
示例 3:
输入:s = "(]"
输出:false
示例 4:
输入:s = "([)]"
输出:false
示例 5:
输入:s = "{[]}"
输出:true
Constraints:
1 <= s.length <= 104
s consists of parentheses only '()[]{}'.
提示:
1 <= s.length <= 104
s 仅由括号 '()[]{}' 组成
C语言:(失败)
bool isValid(char * s){
int a=0;
for(int i=0;i<strlen(s);i++)
{
if(a[i]=='(')
a+=1;
else if(a[i]==')')
a-=1;
else if(a[i]=='{')
a+=2;
else if(a[i]=='}')
a-=2;
else if(a[i]=="[")
a+=3;
else if(a[i]=="]")
a-=3;
}
if(a==0)
return true;
else
return false;
}