Compare commits

..

No commits in common. 'recursive-iterator' and 'master' have entirely different histories.

@ -1,35 +1,20 @@
import java.util.*; import java.util.*;
import java.util.function.BiPredicate; import java.io.*;
import java.math.*;
/**
* Template code to help you parse the standard input
* according to the problem statement.
**/
class Solution { class Solution {
// best readable version, also without dark ASCII code tricks public static void main( String[] args ) {
private static final BiPredicate<Integer, Integer> BRACKETS_MATCH = ( c1, c2 ) -> ( c1 != null && c2 != null ) Scanner in = new Scanner( System.in );
&& (( c1 == '(' && c2 == ')' ) || ( c1 == '[' && c2 == ']' ) || ( c1 == '{' && c2 == '}' )); // read values with in.next...() methods
// code your solution here // code your solution here
private static boolean checkNextChar( Deque<Integer> stack, Iterator<Integer> iter ) {
if ( ! iter.hasNext() ) return stack.isEmpty();
int c = iter.next(); // Write result with System.out.println()
if ( BRACKETS_MATCH.test( stack.peek(), c )) { System.out.println( "value" );
stack.pop(); }
}
else {
stack.push( c );
}
return checkNextChar( stack, iter );
}
public static void main( String[] args ) {
// hint: read values via Scanner methods
var inputLine = new Scanner( System.in ).nextLine();
var stack = new ArrayDeque<Integer>( inputLine.length() );
var iter = inputLine.chars().iterator();
// Write result with System.out.println()
System.out.println( checkNextChar( stack, iter ) );
}
} }

Loading…
Cancel
Save