`
zhang_xzhi_xjtu
  • 浏览: 544381 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[leetcode] ValidParentheses

阅读更多
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();
        }
    }

}
0
0
分享到:
评论

相关推荐

    java-leetcode题解之Longest Valid Parentheses.java

    其中,“Longest Valid Parentheses”是一道在LeetCode上常见的算法题目,要求编写一个函数来找出输入字符串中有效的括号配对的最大长度。 在Java中,解决这类问题通常需要对字符串进行遍历,并且利用栈、动态规划...

    LeetCode Valid Parenthese解决方案

    其中,“Valid Parentheses”是一道经典的字符串处理问题。这个题目要求我们编写一个函数,检查给定的字符串中括号的使用是否合法。具体来说,我们需要确保所有打开的括号都有对应的闭合括号,并且它们的顺序是正确...

    c语言-leetcode 0020-valid-parentheses.zip

    c c语言_leetcode 0020_valid_parentheses.zip

    java-leetcode题解之Maximum Nesting Depth of Two Valid Parentheses

    对于题目“Maximum Nesting Depth of Two Valid Parentheses”,我们可以将其理解为计算两个有效括号字符串中最深的嵌套深度。有效括号字符串通常指字符串仅由'('和')'构成,并且对于每个'(',都有一个相匹配的')'。...

    C语言-leetcode题解之32-longest-valid-parentheses.c

    今天,我们专注于题号为32的LeetCode题目“Longest Valid Parentheses”,即找出最长的有效括号匹配子串长度。 有效括号匹配是计算机科学中的经典问题,它要求识别并计算给定字符串中正确配对的括号数量。在编程...

    C语言-leetcode题解之20-valid-parentheses.c

    具体到文件标题中提到的“20-valid-parentheses.c”,这个文件应该是针对leetCode中第20号题目“有效的括号”的C语言实现。这道题目的核心要求是判断给定的字符串是否为有效的括号组合。有效的括号组合是指,对于每...

    leetcode2-valid_parentheses:代码挑战:有效括号

    leetcode 2 有效括号 给定一个只包含字符'(' , ')' , '{' , '}' , '['和']'的字符串,确定输入字符串是否有效。 输入字符串在以下情况下有效: * 左括号必须由相同类型的括号封闭。 * 左括号必须以正确的顺序关闭。 ...

    js-leetcode题解之20-valid-parentheses.js

    在LeetCode算法题目中,“20.有效的括号”是一道广泛讨论的问题,它要求编写一个函数来判断输入字符串中的括号是否合法。合法的括号需要满足如下条件:一对括号必须是闭合的,即第一个出现的左括号必须由相同类型的...

    程序员面试宝典LeetCode刷题手册

    第四章 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

    LeetCode 刷题汇总1

    * 有效的括号(Valid Parentheses):判断括号是否有效。 * 生成括号(Generate Parentheses):生成所有可能的括号组合。 6. 字符串匹配: * 正则表达式匹配(Regular Expression Matching):实现正则表达式...

    LeetCode最全代码

    # [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...

    颜色分类leetcode-leetcode-[removed]我对Leetcode问题的解决方案

    颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum 两数之和 5 Longest Palindromic Substring 最长回文子串 7 Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container...

    LeetCode题解(java语言实现).pdf

    * Valid Parentheses:该题目要求检查括号是否匹配,实现方法使用了栈的数据结构。 * Implement strStr():该题目要求实现字符串查找算法,实现方法使用了Knuth-Morris-Pratt算法。 四、搜索和排序 * Search ...

    js-leetcode题解之32-longest-valid-parentheses.js

    本文是一篇专注于解决LeetCode平台中JavaScript语言编写的“32-最长有效括号”问题的题解文章。在介绍解题思路和实现方法之前,先对这个问题进行详细阐述。问题要求编写一个函数,该函数能够找到给定字符串中合法的...

    Leetcode book刷题必备

    41. Valid Parentheses:验证括号的有效性。 【动态规划】 42. Climbing Stairs:计算爬楼梯的不同方法数。 43. Unique Paths:机器人在一个 m x n 的网格中从左上角移动到右下角,有多少不同的路径。 44. Unique ...

    LeetCode各公司题目合集

    - Valid Parentheses:这是一个用来检测字符串中括号是否有效匹配的问题,可以用栈(Stack)数据结构来解决,属于基础的算法题目。 - Two Sum II - Input array is sorted:与前一个Two Sum题目的不同之处在于,本题...

    javalruleetcode-LeetCode::lollipop:个人LeetCode习题解答仓库-多语言

    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

    _leetcode-python.pdf

    - Valid Parentheses: 验证给定的字符串中的括号是否有效。这通常可以通过栈结构来实现。 - Merge Two Sorted Lists: 合并两个有序链表。 - Generate Parentheses: 生成所有可能的有效的括号组合。 - Merge k Sorted...

Global site tag (gtag.js) - Google Analytics