678. 有效的括号字符串
生活随笔
收集整理的这篇文章主要介绍了
678. 有效的括号字符串
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
678. 有效的括号字符串
给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则:
- 可以被视为单个右括号 ) ,或单个左括号 ( ,或一个空字符串。
字符串大小将在 [1,100] 范围内。
解题思路
使用贪心算法,维护一个左括号的最大值和最小值
代码
class Solution {public boolean checkValidString(String s) {int del=0,lMax=0,lMin=0,i=0,n=s.length();while(i<n){if(s.charAt(i)=='('){lMax++;lMin++;}else if(s.charAt(i)==')'){lMax--;lMin=Math.max(0,lMin-1);if(lMax<0)return false;}else {lMax++;lMin=Math.max(0,lMin-1);}i++;}return lMin==0;} } 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖总结
以上是生活随笔为你收集整理的678. 有效的括号字符串的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 做梦梦到鼻毛特别长怎么回事
- 下一篇: 面试题 17.24. 最大子矩阵