您的位置:首页 > 编程语言 > Java开发

leetcode 第20题<Valid Parentheses>(java)

2017-03-13 15:06 225 查看

题面

Given a string containing just the characters ‘(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.

The brackets must close in the correct order, “()” and “()[]{}” are all valid but “(]” and “([)]” are not.

审题

这道题主要考察的是栈结构 先进先出

新出现的右括号要找到最后的左括号,看看能不能匹配

容易出错的是:1.遇见第一个右括号要判断栈里面是不是为空

2.字符循环完了,栈里面是不是为空

code

public class Solution {
public boolean isValid(String s) {
char[] arraychar=s.toCharArray();
List<Character> zhan= new ArrayList<>();
for (Character c:arraychar){
if(c=='{'||c=='['||c=='('){
zhan.add(c);
}
else{
if(zhan.size()==0){
return false;
}
if(c=='}'&&zhan.get(zhan.size()-1)!='{'){
return false;
}
if(c==']'&&zhan.get(zhan.size()-1)!='['){
return false;
}
if(c==')'&&zhan.get(zhan.size()-1)!='('){
return false;
}
zhan.remove(zhan.size()-1);
}
}
if(zhan.size()==0)
return true;
else return false;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: