Leetcode每日刷题--左右括号匹配-创新互联
https://leetcode.com/problems/valid-parentheses/submissions/880634555/
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都宣传片制作等,在成都网站建设、成都营销网站建设、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。2023/01/18, 虽迟但到,喜欢的朋友可以点赞关注,感谢支持~~~ 问题描述:给定字符串,检查括号是否匹配,例如:{}(){}, yes, {([])}, yes, {[)}, no,
结题思路:此题思路比较简单明确,使用stack, 是左括号时入栈,右括号时出栈并检查是否匹配,
字符串扫描完需要检查栈是否为空,空代表完全匹配,
leetcode C语言,C++ 尽量不要用全局变量,否则容易出现Testcase 能过,sumbit 不能过
void push(char *stack_buf, uint32_t *used_stack, char str)
{
stack_buf[*used_stack] = str;
*used_stack += 1;
}
char pop(char *stack_buf, uint32_t *used_stack)
{
*used_stack -= 1;
return stack_buf[*used_stack];
}
bool stack_empty(char *stack_buf, uint32_t *used_stack)
{
return *used_stack< 1 ? true : false;
}
bool parenthes_match(char a, char b)
{
if ((a == '(' && b == ')')
|| (a == '[' && b == ']')
|| (a == '{' && b == '}'))
return true;
return false;
}
bool isValid(char * s) {
char stack_buf[10000] = {0};
uint32_t used_stack = 0;
for (uint32_t i = 0; i< strlen(s); i++) {
switch (s[i]) {
case '[':
case '(':
case '{':
push(stack_buf, &used_stack, s[i]);
break;
default:
if (stack_empty(stack_buf, &used_stack)
|| !parenthes_match(pop(stack_buf, &used_stack), s[i]))
return false;
break;
}
}
return stack_empty(stack_buf, &used_stack);
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网页题目:Leetcode每日刷题--左右括号匹配-创新互联
本文链接:http://myzitong.com/article/dgehsc.html