zoukankan      html  css  js  c++  java
  • 【JAVA、C++】LeetCode 020 Valid Parentheses

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

    The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

    解题思路:

    由于"()","[()]","{{({[]})}}"都会通过,即出现')]}'这种字符就需要判断前面字符是否是对应的字符,如果用指针的话,实现起来相当复杂,考虑到这种情况和栈的后进先出颇为相似,因此采用stack类

    JAVA实现如下:

    	static public boolean isValid(String s) {
            Stack<Integer> stack = new Stack<Integer>();
            for (int i = 0; i < s.length(); i++) {
                int pos = "()[]{}".indexOf(s.charAt(i));
                if (pos % 2 !=0) {
                    if (stack.isEmpty() || stack.pop() != pos - 1)
                        return false;
                } else
                	stack.push(pos);
            }
            return stack.isEmpty();
        }
    

     C++

     1  class Solution {
     2  public:
     3      bool isValid(string s) {
     4          stack<char> stk;
     5          for (int i = 0; i < s.length(); i++) {
     6              if (s[i] == '(' || s[i] == '[' || s[i] == '{')
     7                  stk.push(s[i]);
     8              else {
     9                  if (stk.empty())
    10                      return false;
    11                  if (stk.top() == '(' && s[i] == ')')
    12                      stk.pop();
    13                  else if (stk.top() == '[' && s[i] == ']')
    14                      stk.pop();
    15                  else if (stk.top() == '{' && s[i] == '}')
    16                      stk.pop();
    17                  else
    18                      return false;
    19              }
    20          }
    21          return stk.empty();
    22      }
    23  };
  • 相关阅读:
    小程序swiper组件实现间距轮播
    小程序form静态页面跳转
    批量添加Iconfont图标库图标
    Vant Weapp 有赞小程序UI库 ICON 组件的本地图标路径支持
    $rootScope、$apply、$watch
    EF code first 数据模型创建数据库
    angularjs directive2
    angularjs directive
    angularjs service
    angular repeat
  • 原文地址:https://www.cnblogs.com/tonyluis/p/4473455.html
Copyright © 2011-2022 走看看