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

leetcode-java-20. Valid Parentheses

2016-06-10 13:55 316 查看
思路:

本题用栈实现

读到一个字符串时判断,如果栈顶和当前这个字符满足左右括号匹配,则弹出,否则压栈。

若最后栈顶为空,则说明匹配成功。

public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<Character>();
stack.push(s.charAt(0));

int len = s.length(),
i = 1;

for(;i < len;i++) {
if(!stack.empty() && isMatch(stack.peek(),s.charAt(i))) {
stack.pop();
} else {
stack.push(s.charAt(i));
}
}

if(stack.empty()) {
return true;
} else {
return false;
}
}

public boolean isMatch(char a,char b) {
if((a == '(' && b == ')') || (a == '[' && b == ']') || (a == '{' && b == '}')) {
return true;
} else {
return false;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: