2016-11-12 3 views
0

私はJavaの初心者です。オープンブラケットとクローズブラケットの検証のために、1つ以上のメソッドを実装する必要があります。例:we have()(()))) - それは本当です、または私たちが持っているならば - false。それは私にはいくつかの簡単な解決策があるようですが、私は考えを持っていません... 私はあなたに解決策を書くように頼んでいません(、もしあなたがいれば、私はあなたを止めません):しかし、いくつかのヒントは素晴らしいでしょう。オープンブラケットとクローズドブラケットの検証方法

答えて

3

文字列を歩き、現在開いている閉じていない括弧のカウンターを保持します。 '('に遭遇した場合はカウンターをインクリメントします) 'が発生した場合は、カウンターを減らしてください。 カウントが0より小さいか、またはすべてのcharをチェックした後に0でない場合、その文字列は無効です。

楽しみのためだけに少し醜いと非効率的なバージョン:

System.out.println(s.chars().map((i) -> 81 - i * 2).reduce(0, (a, b) -> a >> 31 | a + b) == 0); 
+0

はFYIこのソリューションは、Java 8以上 – mre

+0

うわー、素敵なアイデアが必要です。ありがとうございました) – aLittleMind