一开始的思路是从左遍历,能和最后一个结合或者和第二个结合,就是有效的字符串,但这个思路很明显存在漏洞,第一个括号还可以和中间的结合成一对,在解题过程中想到最小单位一定是[]{}(),所以遍历,遇到就删掉是种思路清晰的方法,但这种方法的缺点就是效率太低,附上代码
class Solution {
public boolean isValid(String s) {
int size = s.length()/2;
while(size!=0) {
s = s.replace("()", "");
s = s.replace("[]", "");
s = s.replace("{}", "");
size--;
}
if (s.equals("")) {
return true;
}
else {
return false;
}
}
}