题目描述:由于只包含字符的字符串'(',')','{','}','['和']',确定输入的字符串是有效的。
支架必须关闭以正确的顺序,"()"并"()[]{}"都是有效的,但"(]"并"([)]"没有。
解决方案:使用栈
import java.util.Stack;
public static boolean isValid(String s) {Stack<Character> stack=new Stack<>();//使用了数据结构栈
for(char value:s.toCharArray())//将字符串转化为字符数组
{
if(value=='(')
stack.push(')');//进栈
else if(value=='{')
stack.push('}');//进栈
else if(value=='[')
stack.push(']');//进栈
else if(stack.isEmpty()||stack.pop()!=value)//栈为空
{
return false;
}
}
return stack.isEmpty();//如果满足题意 的话,最后要成为一个空栈
}
本文介绍了一种使用栈数据结构来验证括号字符串是否有效的方法。对于由'(',')','[',']','{','}
538

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



