Loading...
墨滴

公众号:offer多多

2021/08/24  阅读:33  主题:橙心

LeetCode每日一题 【第12天】:有效的括号

LeetCode每日一题 【第12天】:有效的括号

题目

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足:

  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。

思路:

提示:看似容易,能说出来嘛?

2.1 青铜算法描述

  • 入栈
  • 出栈,检测是否相等。

执行

提示:在不运行代码情况下。通过简单例子验证 是否正确。逻辑推理能力。

代码

  • 第一个版本:
class Solution {
public:
    //https://leetcode-cn.com/problems/valid-parentheses/solution/dai-ma-sui-xiang-lu-20-you-xiao-de-gua-h-hdcq/
    
    //case 1 () 
     //cas2  () ) ||  )
    //case3  (()
    bool isValid(string s) {
       stack<char> mystack;

        for (auto key : s)
        {
            if (key == '(' || key == '{' || key == '[')
            {
                mystack.push(key);
            }
            else
            {
                if (mystack.empty() == true)
                {
                    return false;
                    //case3  ())
                }

                char left = mystack.top();
                mystack.pop();
                char right = key;
                if ((left == '(' && right == ')') ||
                    (left == '{' && right == '}') ||
                    (left == '[' && right == ']'))
                {
                    continue;
                    //case1 ()
                }
                else
                {
                    return false; //case4  (]
                }
            }
        }
        //case2 (()
        if (mystack.empty() ==false)
        {
            return false;
        }
        return true;
    }
};

作者:aleafboat
链接:https://leetcode-cn.com/problems/valid-parentheses/solution/kao-lu-ge-chong-qing-kuang-by-aleafboat-59qx/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 第二次代码

公众号:offer多多

2021/08/24  阅读:33  主题:橙心

作者介绍

公众号:offer多多