题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效
代码实现:
class Solution{
public boolean isValid(String s) {
Stack<Character> myStack1 = new Stack<>();
if(s.length() % 2 != 0){
return false;
}
else{
char[] arr;
arr = s.toCharArray();
for (int i = 0; i < arr.length; i++) {
char temp = arr[i];
if(temp =='[' || temp =='{' ||
temp =='(' ){
myStack1.push(temp);
}else{
if(myStack1.empty()){
return false;
}
char data = myStack1.peek();
if(temp ==']'){
if(data == '['){
myStack1.pop();
}else{
return false;
}
}else if(temp == '}'){
if(data == '{'){
myStack1.pop();
}else{
return false;
}
}else{
if(data == '('){
myStack1.pop();
}else{
return false;
}
}
}
}
if(!myStack1.empty()){
return false;
}
return true;
}
}
}