uva673 Parentheses Balance

简介: uva673 Parentheses Balance
#include <stdio.h>#include <string.h>#define LOCALcharstr[130];
charstack[130];
intmain()
{
inti, j, n;
intlen;
inttop;
#ifndef LOCALfreopen("c://uva_in.txt", "r", stdin);
#endifscanf("%d", &n);
getchar();
for (i=0; i<n; i++)
    {
gets(str);
len=strlen(str);
if (len==0)
        {
printf("Yes/n");
continue;
        }
stack[0] =str[0];
top=0;
for (j=1; j<len; j++)
        {
if (str[j] =='('||str[j] =='[')
stack[++top] =str[j];
elseif (str[j] ==')')
            {
if (top>=0&&stack[top] =='(')
--top;
elsestack[++top] =str[j];
            } else            {
if (top>=0&&stack[top] =='[')
--top;
elsestack[++top] ==str[j];
            }
        }
if (top==-1)
printf("Yes/n");
elseprintf("No/n");
    }
return0;
}
目录
相关文章
|
6月前
|
Java
hdu-1016-Prime Ring Problem
hdu-1016-Prime Ring Problem
28 0
codeforces 317 A Perfect Pair
我先排除了输出-1的,然后再考虑如何计算最小的步数。我们主要在每一步中最小一个加上另一个就可以了,这是朴素的求法,但可能出现这样的情况 比如 -100000000 1 10000000 这样的话会循环100000000多次,肯定超时,所以我们要加快速度。
40 0
LeetCode 241. Different Ways to Add Parentheses
给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。
81 0
LeetCode 241. Different Ways to Add Parentheses
LeetCode - 32. Longest Valid Parentheses
32. Longest Valid Parentheses  Problem's Link  ---------------------------------------------------------------------------- Mean:  给定一个由'('和')'组成的字符串,求最长连续匹配子串长度.
971 0
|
C++
【LeetCode】9. Palindrome Number
题目: Determine whether an integer is a palindrome. Do this without extra space. 思考过程: 题目很简单,要求是判断一个数是否是回文数,回文数的定义就是数字翻转之后与原先的数一样的话就是回文数,比如 101 , 22, 1 等,所以要处理这个问题的话,只需要将一个数的最高位换到最低位,次高位换到第二低位,依次
1063 0
LeetCode - 9. Palindrome Number
9. Palindrome Number  Problem's Link  ---------------------------------------------------------------------------- Mean:  给你一个数,判断这个数是不是回文数.
802 0