comefrom: <gouthampradhan>stack_DecodeString_1.java
code: public String decodeString(String s) {
      Stack<Character> stack = new Stack<>();
      for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) == ']') {
          StringBuilder stackBuff = new StringBuilder();
          while (stack.peek() != '[') {
            stackBuff.append(stack.pop());
          }
          stack.pop(); 
          String num = "";
          while (!stack.isEmpty() && !Character.isAlphabetic(stack.peek()) && stack.peek() != '[') {
            num = stack.pop() + num;
          }
          String str = stackBuff.reverse().toString();
          StringBuilder stringMultiple = new StringBuilder();
          int N = Integer.parseInt(num);
          while (N-- > 0) {
            stringMultiple.append(str);
          }
          for (int j = 0; j < stringMultiple.length(); j++) {
            stack.push(stringMultiple.charAt(j));
          }
        } else stack.push(s.charAt(i));
      }
      StringBuilder result = new StringBuilder();
      while (!stack.isEmpty()) {
        result.append(stack.pop());
      }
      return result.reverse().toString();
    }
masked: public String var_0 ( String var_1 ) {
    Stack < Character > var_2 = new Stack < > ( ) ;
    for ( int var_3 = 0 ;
    var_3 < var_1 . length ( ) ;
    var_3 ++ ) {
      if ( var_1 . charAt ( var_3 ) == ']' ) {
        StringBuilder var_4 = new StringBuilder ( ) ;
        while ( var_2 . peek ( ) != '[' ) {
          var_4 . append ( var_2 . pop ( ) ) ;
        }
        var_2 . pop ( ) ;
        String var_5 = "" ;
        while ( ! var_2 . isEmpty ( ) && ! Character . isAlphabetic ( var_2 . peek ( ) ) && var_2 . peek ( ) != '[' ) {
          var_5 = var_2 . pop ( ) + var_5 ;
        }
        String var_6 = var_4 . reverse ( ) . toString ( ) ;
        StringBuilder var_7 = new StringBuilder ( ) ;
        int var_8 = Integer . parseInt ( var_5 ) ;
        while ( var_8 -- > 0 ) {
          var_7 . append ( var_6 ) ;
        }
        for ( int var_9 = 0 ;
        var_9 < var_7 . length ( ) ;
        var_9 ++ ) {
          var_2 . push ( var_7 . charAt ( var_9 ) ) ;
        }
      }
      else var_2 . push ( var_1 . charAt ( var_3 ) ) ;
    }
    StringBuilder var_10 = new StringBuilder ( ) ;
    while ( ! var_2 . isEmpty ( ) ) {
      var_10 . append ( var_2 . pop ( ) ) ;
    }
    return var_10 . reverse ( ) . toString ( ) ;
  }
  