LeetCode-有效字符串判定
本文最后更新于:2021年8月9日 晚上
一、给定一个只有括号’(‘,’)’,’{‘,’}’,’[‘,’]’字符串,判断字符串是否有效。
有效字符串需要满足:
1、左括号必须用相同的类型的右括号闭合。
2、左括号必须以正确的顺序闭合。
注意空字符串可被认为有效字符串。
实例1:
输入:”()”
输出:true
实例2:
输入:
“()[]{}”
输出:true
二、 代码实现:
import java.util.Stack;
public class Solution {
public boolean isValid(String s) {
if (s.length() == 0) {
return true;
}
Stack<Character> stack = new Stack<>();
for (char ch : s.toCharArray()) {
if (ch == '(' || ch == '{' || ch == '[') {
stack.push(ch);
} else {
if (stack.isEmpty()) {
return false;
} else {
char temp = stack.pop();
if (ch == ')') {
if (temp != '(') {
return false;
}
}else if (ch == '}') {
if (temp != '{') {
return false;
}
} else if (ch == ']') {
if (temp != '[') {
return false;
}
}
}
}
}
return stack.isEmpty() ? true : false;
}
}
本文作者: CodeAnime
本文链接: https://codeanime.cc/LeetCode-%E6%9C%89%E6%95%88%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%A4%E5%AE%9A.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!