新博文地址:[leetcode]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.
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
括号匹配,很经典的栈问题,太简单了,不罗嗦
public boolean isValid(String s) { if((s.length() & 1) == 1){//这里为了提高效率,判断长度是否为偶数,删掉也无妨 return false; } Stack<Character> stack = new Stack<Character>(); for (int i = 0; i < s.length(); i++) { char leftToken = s.charAt(i); if (leftToken == '(' || leftToken == '{' || leftToken == '[') { stack.push(leftToken); } else { switch (leftToken) { case ')': if (stack.isEmpty()|| stack.peek() != '(') return false; else stack.pop();break; case '}': if (stack.isEmpty() || stack.peek() != '{') return false; else stack.pop();break; case ']': if (stack.isEmpty() || stack.peek() != '[') return false; else stack.pop();break; } } if(i == s.length() - 1 && !stack.isEmpty()){//如果处理完毕,栈内还有元素,说明左括号太多了 return false; } } return true; }
相关推荐
java java_leetcode题解之Longest Valid Parentheses.java
java java_leetcode题解之Maximum Nesting Depth of Two Valid Parentheses
其中,“Valid Parentheses”是一道经典的字符串处理问题。这个题目要求我们编写一个函数,检查给定的字符串中括号的使用是否合法。具体来说,我们需要确保所有打开的括号都有对应的闭合括号,并且它们的顺序是正确...
c c语言_leetcode 0020_valid_parentheses.zip
js js_leetcode题解之20-valid-parentheses.js
c语言入门 C语言_leetcode题解之20-valid-parentheses.c
js js_leetcode题解之32-longest-valid-parentheses.js
c语言入门 C语言_leetcode题解之32-longest-valid-parentheses.c
leetcode 2 有效括号 给定一个只包含字符'(' , ')' , '{' , '}' , '['和']'的字符串,确定输入字符串是否有效。 输入字符串在以下情况下有效: * 左括号必须由相同类型的括号封闭。 * 左括号必须以正确的顺序关闭。 ...
第四章 Leetcode 题解 ...20. Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 23. Merge k Sorted Lists 24. Swap Nodes in Pairs 25. Reverse Nodes in k-Group 26. Remove Dupli
* 有效的括号(Valid Parentheses):判断括号是否有效。 * 生成括号(Generate Parentheses):生成所有可能的括号组合。 6. 字符串匹配: * 正则表达式匹配(Regular Expression Matching):实现正则表达式...
颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum 两数之和 5 Longest Palindromic Substring 最长回文子串 7 Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container...
# [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...
* Valid Parentheses:该题目要求检查括号是否匹配,实现方法使用了栈的数据结构。 * Implement strStr():该题目要求实现字符串查找算法,实现方法使用了Knuth-Morris-Pratt算法。 四、搜索和排序 * Search ...
41. Valid Parentheses:验证括号的有效性。 【动态规划】 42. Climbing Stairs:计算爬楼梯的不同方法数。 43. Unique Paths:机器人在一个 m x n 的网格中从左上角移动到右下角,有多少不同的路径。 44. Unique ...
- Valid Parentheses:这是一个用来检测字符串中括号是否有效匹配的问题,可以用栈(Stack)数据结构来解决,属于基础的算法题目。 - Two Sum II - Input array is sorted:与前一个Two Sum题目的不同之处在于,本题...
java lru leetcode :ice_cream: LeetCode ...Parentheses 26 Remove Duplicates from Sorted Array 48 Rotate Image 53 Maximum Subarray 55 Jump Game 56 Merge Intervals 64 Minimum Path Sum 73
Parentheses 有效的括号 Stack / 栈 用栈实现配对 Daily Challenge 2020/08/14 28 Implement strStr() 实现 strStr() String / 字符串 循环遍历即可 algorithm-pattern: quick start 43 Multiply S