一、题目
二、代码
class Solution
{
public boolean isValid(String s)
{
Stack<Character> stack = new Stack<>();
int i;
int length = s.length();
for(i=0;i<length;i++)
{
if(s.charAt(i)=='('||s.charAt(i)=='{'||s.charAt(i)=='[')
{
stack.push(s.charAt(i));
}
else if(s.charAt(i)==')')
{
if(!stack.isEmpty()&&stack.pop()=='(')
{
}
else
{
return false;
}
}
else if(s.charAt(i)=='}')
{
if(!stack.isEmpty()&&stack.pop()=='{')
{
}
else
{
return false;
}
}
else if(s.charAt(i)==']')
{
if(!stack.isEmpty()&&stack.pop()=='[')
{
}
else
{
return false;
}
}
}
if(!stack.isEmpty()) return false;
return true;
}
}
三、运行结果
四、附录
class Solution
{
public boolean isValid(String s)
{
Deque<Character> deque1 = new LinkedList<>();
int i;
int length = s.length();
for(i=0;i<length;i++)
{
if(s.charAt(i)=='(')
{
deque1.addFirst(s.charAt(i));
}
else if(s.charAt(i)=='{')
{
deque1.addFirst(s.charAt(i));
}
else if(s.charAt(i)=='[')
{
deque1.addFirst(s.charAt(i));
}
else if(s.charAt(i)==')')
{
if(deque1.isEmpty()==false&&deque1.removeFirst()== '(') continue;
return false;
}
else if(s.charAt(i)=='}')
{
if(deque1.isEmpty()==false&&deque1.removeFirst()== '{') continue;
return false;
}
else if(s.charAt(i)==']')
{
if(deque1.isEmpty()==false&&deque1.removeFirst()== '[') continue;
return false;
}
}
if(deque1.isEmpty()==false ) return false;
return true;
}
}