这次来写一下LeetCode的第 20 题,有效的括号。 题目描述 题目直接从 LeetCode 上截图过来,题目如下: 上面的题就是 有效的括号 题目的截图,同时 LeetCode 给出了一个函数的定义,然后要求实现 有效的括号 的函数体。函数定义如下: bool isValid(char* s) {} 从上面函数的定义来看,参数是一个字符串,字符串中...
思路一样,不过C中没有map,因此用ASCII值做了一些判断。右括号ASCII值比左括号大1或者2。
}intflag =0;chara[10000];inttop,i;chartemp;//初始化一个栈top =0;for(i=0;i<strlen(s);i++){if(s[i]=='['){//如果是左括号直接入栈a[++top]=s[i];continue; }if(s[i]==']'){//如果是右括号,则尝试匹配temp =a[top];if(temp=='['){ flag=1; top--;continue; }else{ fla...
1<= s.length<= 104 s仅由括号'()[]{}'组成 思路: 根据s当前位置字符来判断操作,若s为左括号,入栈,若s为右括号,取栈顶元素并且出栈,然后用栈顶元素和s比较,若匹配,则说明当前括号对应,程序继续执行,否则错误 代码: typedef int STDataType; typedef struct Stack { STDataType* a; int top; int c...