678. Valid Parenthesis String
来源:互联网 发布:星星知我心演员表 编辑:程序博客网 时间:2024/06/16 12:55
Given a string containing only three types of characters: '(', ')' and '*', write a function to check whether this string is valid. We define the validity of a string by these rules:
- Any left parenthesis
'('
must have a corresponding right parenthesis')'
. - Any right parenthesis
')'
must have a corresponding left parenthesis'('
. - Left parenthesis
'('
must go before the corresponding right parenthesis')'
. '*'
could be treated as a single right parenthesis')'
or a single left parenthesis'('
or an empty string.- An empty string is also valid.
Example 1:
Input: "()"Output: True
Example 2:
Input: "(*)"Output: True
Example 3:
Input: "(*))"Output: True
class Solution { public boolean checkValidString(String s) { Stack<Integer> st1 = new Stack<>();Stack<Integer> st2 = new Stack<>();for (int i = 0; i < s.length(); ++i) {char c = s.charAt(i);if (c == '(')st1.add(i);else if (c == '*')st2.add(i);else {if (!st1.isEmpty())st1.pop();else if (!st2.isEmpty())st2.pop();else return false;}}while (!st1.isEmpty()) {int n1 = st1.pop();if (st2.isEmpty())return false;int n2 = st2.pop();if (n1 > n2)return false;}return true; }}
阅读全文
0 0
- 678. Valid Parenthesis String
- 678. Valid Parenthesis String
- 678. Valid Parenthesis String
- LWC 50:678. Valid Parenthesis String
- LeetCode678. Valid Parenthesis String
- [LeetCode]Valid Parenthesis String
- LeetCode-Valid Parenthesis String
- leetcode 678 Valid Parenthesis String
- leetcode 678. Valid Parenthesis String 有效括号的判断
- Longest Valid Parenthesis
- LeetCode - Valid Parenthesis
- Leetcode 20 Valid Parenthesis
- 【LeetCode】valid-parenthesis
- Leetcode20-Valid Parenthesis
- Parenthesis
- Parenthesis
- Parenthesis
- LeetCode[String]: Valid Palindrome
- HDU-6206 计算几何+大数
- 润乾v5行式填报 数据校验---小计校验
- HDU1094
- PopupWindow
- bzoj 3111: [Zjoi2013]蚂蚁寻路
- 678. Valid Parenthesis String
- GDB 7.0 中文手册 —— 2. 进入和退出GDB
- makefile和shell脚本
- springmvc基础一
- 使用七牛的sdk上传报错:incorrect region
- 【js初学】whlie语句
- 分页+frament+PullToRefresh+轮播
- python精简笔记(五)——函数式编程
- 数据结构与算法分析:Java语言描述 mobi格式