import java.util.*;
public class Solution {
public boolean isValidString (String s) {
// write code here
//取代掉()
s= s.replaceAll("\\(\\)", "");
char[] charArray = s.toCharArray();
//由左向右匹配“(”
for (int i = 0; i < charArray.length; i++) {
if(charArray[i]=='('){
computeIsValid(i+1,charArray);
}
}
//由左向右匹配"*"
for (int i = 0; i < charArray.length; i++) {
if(charArray[i]=='*'){
computeIsValid2(i+1,charArray);
}
}
//判断
for (char c : charArray) {
if (c == '(' || c == ')') {
return false;
}
}
return true;
}
private void computeIsValid2(int i, char[] charArray) {
for (int j = i; j < charArray.length; j++) {
if(charArray[j]==')'){
charArray[j]=0;
break;
}
}
}
private void computeIsValid(int i, char[] charArray) {
boolean flag = true;
for (int j = i; j < charArray.length; j++) {
if(charArray[j]==')'){
flag=false;
charArray[j]=0;
charArray[i-1]=0;
break;
}
}
if(flag){
for (int j = i; j < charArray.length; j++) {
if(charArray[j]=='*'){
charArray[j]=0;
charArray[i-1]=0;
break;
}
}
}
}
}