【Leetcode】20、Valid Parentheses

原创 2018年04月17日 16:50:26

Valid系列。。

这次是个左右括号匹配的题目,很容易想到用栈,先入后出的属性。easy题。

#include <iostream>
#include <stack>
using namespace std;
bool isValid(string s)
{
    stack<char> stk;
    int start = 0, size = s.size();
    for (; start < size; start++)
    {
        if (s[start] == '(' || s[start] == '{' || s[start] == '[')
            stk.push(s[start]);
        else if (s[start] == ')' || s[start] == '}' || s[start] == ']')
        {
            if(stk.empty())
                return false;
            else if (s[start] == ')' && stk.top() == '(')
                stk.pop();
            else if (s[start] == '}' && stk.top() == '{')
                stk.pop();
            else if (s[start] == ']' && stk.top() == '[')
                stk.pop();
            else
                return false;
        }
        else
            continue;
    }
    if (stk.empty())
        return true;
    else
        return false;
}
int main()
{
    string s = "{{[[]}}";
    string s2 = "]";
    if (isValid(s2))
        cout << "True" << endl;
    else
        cout << "False" << endl;
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/syc666946/article/details/79977228

交互设计指南(二)

1       前言2       总体要求2.6   键盘响应对于模式窗口,要求其能够响应回车键和取消(Escape)键:2.6.1                回车键回车键:表示确认,执行保存/...
  • Musicwind
  • Musicwind
  • 2004-05-22 21:28:00
  • 1372

LeetCode 20 Valid Parentheses (C,C++,Java,Python)

Problem: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', deter...
  • runningtortoises
  • runningtortoises
  • 2015-05-10 16:41:00
  • 2986

LeetCode(20) Valid Parentheses

题目如下 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the...
  • feliciafay
  • feliciafay
  • 2013-12-19 06:04:40
  • 3075

LeetCode 20 Valid Parentheses 括号匹配问题

题目: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine ...
  • vvaaiinn
  • vvaaiinn
  • 2015-05-05 10:12:34
  • 2364

LeetCode 20 : Valid Parentheses (Java)

解题思路:这是一道典型的可以用栈来解决的问题。做一个空栈。一个个读入字符直到字符串结尾。如果字符是一个开放符号,则将其推入栈中。如果字符是一个封闭符号,则当栈空时报错。否则,将栈元素弹出。如果弹出的符...
  • changetocs
  • changetocs
  • 2015-12-02 10:53:48
  • 520

LeetCode 20 — Valid Parentheses(C++ Java Python)

题目:http://oj.leetcode.com/problems/valid-parentheses/ Given a string containing just the characters ...
  • dragon_dream
  • dragon_dream
  • 2014-03-21 09:37:46
  • 3019

20. Valid Parentheses [easy] (Python)

题目链接https://leetcode.com/problems/valid-parentheses/题目原文 Given a string containing just the charac...
  • coder_orz
  • coder_orz
  • 2016-06-17 10:18:55
  • 2089

LeetCode-20 Valid Parentheses(判断括号是否规范)

LeetCode-20 Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '['...
  • u011035622
  • u011035622
  • 2015-04-25 11:55:04
  • 639

leetcode-java-20. Valid Parentheses

思路: 本题用栈实现 读到一个字符串时判断,如果栈顶和当前这个字符满足左右括号匹配,则弹出,否则压栈。 若最后栈顶为空,则说明匹配成功。public class Solution { ...
  • github_34514750
  • github_34514750
  • 2016-06-10 13:55:41
  • 356

leetCode 20.Valid Parentheses (有效的括号) 解题思路和方法

Valid Parentheses  Given a string containing just the characters '(', ')', '{', '}', '[' and ']', d...
  • xygy8860
  • xygy8860
  • 2015-07-06 17:21:26
  • 511
收藏助手
不良信息举报
您举报文章:【Leetcode】20、Valid Parentheses
举报原因:
原因补充:

(最多只允许输入30个字)