See More

import java.util.*; class DecodeString{ private String decodeString(String s){ Deque st= new ArrayDeque<>(); for(char c: s.toCharArray()) st.offer(c); return decode(st); } private String decode(Deque st){ StringBuilder sb= new StringBuilder(); int num=0; while(!st.isEmpty()){ char c= st.poll(); if(Character.isDigit(c)){ num = num * 10 + c - '0'; } else if(c == '['){ String substr= decode(st); for(int i=0; i