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. 最大子矩阵