【bilibili】有效的括号

简介: 【bilibili】有效的括号

1. 题目描述

LeetCode20:有效括号

2. 题目分析

  1. 题目的意思比较简单,就是一个简单的模拟操作,当为{ ( [ 时直接入栈,当为} ) ]时判断栈顶的字符是不是相对应的字符,不是,直接返回
  2. 这里有几个坑点,总结一下:不要忘了最后判断栈是否为空、不要忘了null/0、不要忘了当栈为0时,出现} ) ]直接返回false
    主要的测试样例:""[]
  3. 做的时候,第一次错了最后栈大小的判断,第二次错了栈空取出来的异常

3. 题目代码

class Solution {
    public boolean isValid(String s) {
        if (s.length() == 0 || s == null) {
      return true;
    }
        if(s.length() % 2 == 1){
            return false;
        }
    Stack<Character> stack = new Stack<Character>();
    for (int i = 0; i < s.length(); i++) {
      if (s.charAt(i) == '(' || s.charAt(i) == '[' || s.charAt(i) == '{') {
        stack.add(s.charAt(i));
      } else if (s.charAt(i) == ')') {
        if (stack.size() == 0 || stack.pop() != '(') {
          return false;
        }
      } else if (s.charAt(i) == ']') {
        if (stack.size() == 0 || stack.pop() != '[') {
          return false;
        }
      } else {
        if (stack.size() == 0 || stack.pop() != '{') {
          return false;
        }
      }
    }
    if (stack.size() != 0) {
      return false;
    } else {
      return true;
    }
    }
}


相关文章
|
1月前
|
设计模式 算法 Java
各种奇葩变量名合集
一个好的变量名能让读代码的人(包括写的人),身心舒畅,但一个“奇葩”的变量名可能会逼疯一个程序员。今天是各种各样的奇葩变量名大赏!!!!!!在编程过程中,好的变量命名是非常重要的。一个好的变量名能够清晰地表达变量的含义和作用,从而提高代码的可读性和可维护性。然而,有些时候,由于种种原因,开发者会使用一些非常奇特或者奇葩的变量名。本文将总结一些常见的奇葩变量名,并分析其原因和可能的改进方法。
93 1
|
1月前
栈刷题记(一-有效的括号)
栈刷题记(一-有效的括号)
栈刷题记(一-有效的括号)
|
1月前
|
算法
面试题 08.09:括号
面试题 08.09:括号
18 0
|
7月前
|
算法 Java 程序员
面试题精选:字符串替换
字符串处理在程序猿日常工作工作中非常常见,常见到几乎各种语言中都已经封装好了字符串相关的API,我们只需要直接拿过来用就好。就拿Java为例,jdk中的String()类几乎封装了所有字符串相关的操作,其方法数量有近百个,几乎满足了程序猿所有字符串相关的操作。
35 0
面试题精选:字符串替换
|
8月前
|
存储 Unix 编译器
猿创征文|C语言操作符(运算符)一万多字的详细解析
猿创征文|C语言操作符(运算符)一万多字的详细解析
|
C++
【力扣·每日一题】1576. 替换所有的问号(C++ 字符串模拟 思维)
【力扣·每日一题】1576. 替换所有的问号(C++ 字符串模拟 思维)
62 0
【力扣·每日一题】1576. 替换所有的问号(C++ 字符串模拟 思维)
|
存储
【刷题】有效的括号
【刷题】有效的括号
【刷题】有效的括号
|
SQL 算法 数据挖掘
【边学边敲边记】LeetCode008:有效的括号
【边学边敲边记】LeetCode008:有效的括号
【边学边敲边记】LeetCode008:有效的括号
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
62 0
#yyds干货盘点# 前端歌谣的刷题之路-第四十二题-去掉字符串两端空格
|
前端开发 JavaScript
#yyds干货盘点# 前端歌谣的刷题之路-第三十八题-大写字符串
#yyds干货盘点# 前端歌谣的刷题之路-第三十八题-大写字符串
52 0
#yyds干货盘点# 前端歌谣的刷题之路-第三十八题-大写字符串

热门文章

最新文章