>有效的括号字符串<
>checkValidString<

一、解题思路
1、解法一( Java )
解法思路:
代码如下:
class Solution {
// 采用贪心算法
public boolean checkValidString(String s) {
int low = 0, up = 0;//记录到目前的位置时存在的左括号的最少的数量和最大的数量
for(int i = 0; i < s.length(); i++){
char tmp = s.charAt(i);
if(tmp == '('){
low++;
up++;
}else if(tmp == '*'){
low = Math.max(0, low - 1);
up++;
}else{
low = Math.max(low - 1, 0);
up--;
if(up < 0) return false;
}
}
return low <= 0;
}
}
运行结果截图如下:

本文介绍了一种使用Java实现的贪心算法,通过上下界概念解决有效括号字符串的检查问题。通过实例展示了如何利用字符计数来确保左括号与星号的匹配,以及如何处理无效情况。

被折叠的 条评论
为什么被折叠?



