有効なかっこスタック


プログラマ


に質問右かっこ


かっこは「(アルファベットで開く場合は、アルファベット「」で閉じる必要があります).例:
「()」()または「()」()は有効なかっこです.
)()(""または()()は無効なかっこです.
指定された文字列sが「(」または「)のみで構成されている場合は、解関数を完了し、文字列sが正しいカッコである場合はtrueを返し、カッコが正しくない場合はfalseを返します.
せいげんじょうけん
文字列sの長さ:100000未満の自然数
文字列sは「(」または「)」のみからなる.

説明する

function solution(str) {
  while(str.indexOf("()") >= 0){
  str = str.split("()").join("")
  }
  return !str
}

正確性では、通過または効率はゼロです.
同様の方法で修正しても、効率を改善することはできません.
調べてみましたが、stackで解いたもので、stackの概念は聞いたことがありますが、どのように正しく使うか分かりません.今回はstackコンセプトを学びましょう!

他人を解く

다음에 한번 더 풀어보기 위해 해답은 skip!
  • スタック
  • スタック


    第1入出力(LIFO)
    スタックは資料構造型に属する.
    先入後出
    Stackの上部にデータを追加することを「push」、逆に上部にデータを削除することを「pop」と呼ぶ.
    つまり、1つの塔に積み木を積み上げ続け、最後にアップロードされたデータが最初に現れる形式です.
    var stack = [];
    
    stack.push(2);       // stack is now [2]
    stack.push(5);       // stack is now [2, 5]
    
    var i = stack.pop(); // stack is now [2]
    
    alert(i);            // console.log(i);
    この問題はもう一度やってみよう.