合法的括号匹配
来源:互联网 发布:ipad不能用淘宝怎么办 编辑:程序博客网 时间:2024/05/01 00:10
20. Valid Parenthese
Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
Subscribe to see which companies asked this question
题目大概就是这三种括号的匹配,主要的利用Stack的先进后出的原理来进行匹配,看代码应该一下就明白了
typedef struct stack { char c; struct stack *next;} Stack;void create(Stack **ptop){ *ptop = NULL;}void push(Stack **ptop, char c){ Stack *tmp; tmp = malloc(sizeof *tmp); tmp->c = c; tmp->next = *ptop; *ptop = tmp;}void pop(Stack **ptop, char *c){ Stack *tmp; if (! *ptop) return; tmp = *ptop; *c = tmp->c; *ptop = (*ptop)->next; free(tmp);}int empty(Stack **ptop){ return *ptop == NULL; }bool isValid(char* s) { Stack *ss; char c; create(&ss); while (*s) { switch (*s) { case '(': case '[': case '{': push(&ss, *s); break; case ')': case ']': case '}': if (empty(&ss)) return 0; pop(&ss, &c); if (c + 1 != *s && c + 2 != *s) return 0; break; default: break; } ++s; } if (!empty(&ss)) return 0; return 1;}
0 0
- 合法的括号匹配
- Valid Parentheses 合法的括号匹配
- 32.最长的合法括号匹配
- 最长的合法括号
- 合法的括号
- 合法的括号序列
- 51nod 1478 括号序列的最长合法子段 (括号匹配)
- 打印括号的合法组合
- 求解最长的合法括号
- leetcode-20-合法的括号
- 求出对应N的所有合法匹配括号 (DFS)---小米笔试题
- 51nod 1478 括号序列的最长合法子段(栈-括号匹配寻找最长合法子串长度及其个数)
- 输出所有的合法的括号组合
- N对括号的合法组合
- N对括号所有的合法状态
- Generate Parentheses 生成合法的括号组合
- 括号序列的最长合法子段
- 括号匹配的检验
- |洛谷|NOIP2010|搜索|P1378 油滴扩展
- javascript入门笔记5-事件
- Java别名机制
- 用Swagger生成接口文档
- HDOJ2003
- 合法的括号匹配
- Java集合类
- JS的Object类的属性和方法
- 你们公司有职业通路图吗
- 去掉html代码字符中的标签符号
- 3.6 线性表的链式存储结构
- Essential c++2.2调用函数
- 20161012
- js中==比较符的原则