import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ public boolean isValidString (String s) { ArrayList list = new ArrayList<>(); for (int i = 0; i < s.length(); i++) { String s1 = String.valueOf(s.charAt(i)); if (s1.equals("(") || s1.equals("*")) { list.add(s1); } else { System.out.println(list); if (list.size() == 0) { return false; } int flag = -1; for (int j = list.size() - 1; j >= 0; j --) { if (list.get(j).equals("(")) { list.remove(j); flag = 1; break; } } if (flag == -1) { list.remove(list.size() - 1); } } } if (list.size() == 0) { return true; } if (list.get(list.size() - 1).equals("(")) { return false; } int xingCount = 1; for (int i = list.size() - 2; i >= 0; i--) { if (list.get(i).equals("*")) { xingCount ++; } else { xingCount --; if (xingCount < 0) { return false; } } } return true; } }