package leetcode;
import java.util.Stack;
/**
* <pre>
* 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.
* </pre>
*/
public class ValidParentheses {
public class Solution2 {
public boolean isValid(String s) {
Stack<Integer> stack = new Stack<Integer>();
stack.push(0);
for (int i = 0; i < s.length(); i++) {
int c = s.charAt(i);
if (stack.peek() + 1 == c || stack.peek() + 2 == c)
stack.pop();
else
stack.push(c);
}
return stack.size() == 1;
}
}
public class Solution {
public boolean isValid(String s) {
Stack<Integer> stack = new Stack<Integer>();
for (int i = 0; i < s.length(); i++) {
int c = s.charAt(i);
if (stack.isEmpty()) {
stack.push(c);
continue;
}
int tem = stack.peek();
if (tem + 1 == c || tem + 2 == c)
stack.pop();
else
stack.push(c);
}
return stack.isEmpty();
}
}
}
分享到:
相关推荐
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](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...
颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum 两数之和 5 Longest Palindromic Substring 最长回文子串 7 Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container...
* 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
- Valid Parentheses: 验证给定的字符串中的括号是否有效。这通常可以通过栈结构来实现。 - Merge Two Sorted Lists: 合并两个有序链表。 - Generate Parentheses: 生成所有可能的有效的括号组合。 - Merge k Sorted...