スタックの基本的な使用
実施例1: LeetCode 20です。この質問は、単純な話題ですが、ここの周りに直接コードを与え、よりここで説明するので、それは、古典的な問題ですが。
クラスのソリューション{ パブリック ブールのisValid(文字列S){ スタック <文字>スタック= 新しい新しいスタック<> (); のため(int型 I = 0;私は<s.length(); I ++は){ char型の C = s.charAt(I ); のiF(C == '{' || C == '[' || C == '(' ){ stack.push(C); } 他{ // スタックが空である場合、溶液がポップアップすること状況を与えられた、とのミスマッチを調べることができます IF (stack.isEmpty()) のリターン falseに、 char型の POPを=stack.pop(); // これはミスマッチを使用して決定し、より適している IF(C == '}' POP = &&! '{' ){ リターン falseに; } そう IF(C == ']' && POP =「! [ ' ){ 戻り falseに; } そう IF) '= POPを&&!'('(C ==' ){ リターン falseに; } } } を返す)stack.isEmptyを(; } }
そこに同様のトピック:LeetCode 150,71。
例2:再帰スタックLeetCode 341。この質問は、あなたが例として分析し、それを行うことができ、クラスの演習として使用されています。
0