LeetCode) 20. Valid Parentheses
かっこが正しく閉じられているかどうかを確認します.
Language: java
class Solution {
public boolean isValid(String s) {
Stack<String> stack = new Stack<>();
String[] strArr = s.split("");
if(s.length() == 0) return true;
if(s.length() % 2 != 0) return false;
for(int i = 0; i < strArr.length; i++) {
switch(strArr[i]){
case "(": {
stack.push("(");
break;
}
case "{": {
stack.push("{");
break;
}
case "[": {
stack.push("[");
break;
}
case ")": {
if(!stack.empty() && stack.peek().equals("(") )
stack.pop();
else return false;
break;
}
case "}": {
if(!stack.empty() && stack.peek().equals("{") )
stack.pop();
else return false;
break;
}
case "]": {
if(!stack.empty() && stack.peek().equals("[") )
stack.pop();
else return false;
break;
}
}
}
return stack.empty();
}
}
こいつも工夫した問題...最終的にはグーグルの力を借りたが.c言語でstackをしたことがあるのでjavaを使うとは思いませんでした.
この問題のおかげでJavaで書く方法がわかりました...相変わらず気まずい.
答え直す質問!
Reference
この問題について(LeetCode) 20. Valid Parentheses), 我々は、より多くの情報をここで見つけました https://velog.io/@stringstrjava/LeetCode-20.-Valid-Parenthesesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol