zoukankan      html  css  js  c++  java
  • 今日份快乐:有效括号

    模拟面试的时候,遇到了这种题

    确实是简单至极的题目

    但是我

    忘了栈用stl怎么写。又懒得用结构体写栈。 自己用vector造了一个栈。。。

    我猜压根没像我这么写的

    就很快乐

    class Solution {
    public:
        bool isValid(string s) {
        if(s == "")  return true;
        vector<char> strs;
        int len = s.length();
        strs.push_back(s[0]) ;
        int j = 1;
        for (int i = 1;i< len;i++)
        {
            j = strs.size() ;
            strs.push_back( s[i]) ;
            if(j>0 )
            {
            if( (strs[j]== ')' && strs[j-1]=='(' ) ||  (strs[j]== ']' && strs[j-1]=='[') ||(strs[j]== '}' && strs[j-1]=='{'))
            {
                strs.pop_back();
                strs.pop_back();
            }
            }
           
        }
        if(strs.empty())
            return true;
        else 
            return false;
        }
    };

     思路2:

    直接上asc码,肯定是最快的

    class Solution {
    public:
        bool isValid(string s) {
        string tmp = " ";
            for (int i = 0; i < s.size(); i++) {
                if (s[i]-tmp.back()==1||s[i]-tmp.back()==2) {//ascll码
                    tmp.pop_back();
                }
                else {
                    tmp += s[i];
                }
            }
            return tmp.size() == 1;
        }
    };

  • 相关阅读:
    在HTML中使用JavaScript
    七层网络模型
    JS执行机制
    继承
    变量作用域
    跨域
    ES6-Promise
    回调函数
    2019.3.9笔试
    CSS3新特性
  • 原文地址:https://www.cnblogs.com/ranzhong/p/14311137.html
Copyright © 2011-2022 走看看