Valid Parentheses
837 ワード
任意の文字列が指定されている場合は、[]、{}、()のペアで閉じる必要があります.ペアリング文字列の場合はfalse(trueでない場合)が返されます.
Input: s = "()[]{}"
Output: true
Input: s = "(]"
Output: false
最初に問題を受信するときは、スタックとオブジェクトを使用して問題を解決することが望ましい.
閉じたラベルをキーとして、開いたラベルをvalueとして、文字列を遍歴しながら要素をスタックに格納し、スタックから削除またはプッシュするように宣言されたtypeとしてチェックします.最終的な残りのスタックの長さが0の場合、trueのアルゴリズムが返されます.
Input: s = "()[]{}"
Output: true
Input: s = "(]"
Output: false
最初に問題を受信するときは、スタックとオブジェクトを使用して問題を解決することが望ましい.
閉じたラベルをキーとして、開いたラベルをvalueとして、文字列を遍歴しながら要素をスタックに格納し、スタックから削除またはプッシュするように宣言されたtypeとしてチェックします.最終的な残りのスタックの長さが0の場合、trueのアルゴリズムが返されます.
var isValid = function (s) {
const stack = [];
const type = {
']': '[',
'}': '{',
')': '(',
};
for (const el of s) {
if (stack.length <= 0 || stack[stack.length - 1] !== type[el]) {
stack.push(el);
} else {
stack.pop();
}
}
return stack.length <= 0;
};
他に提出されたものを調べてみましたが、私が答えたものと似ていたり、2つのドアを回したりして、あまり効率的ではありません.この問題は簡単かもしれないし、そうではないかもしれないが、少し成長したような気がします.Reference
この問題について(Valid Parentheses), 我々は、より多くの情報をここで見つけました https://velog.io/@skgyaos3/Valid-Parenthesesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol