comefrom: <awangdev>Letter Combinations of a Phone Number_1.java
code: public List<String> letterCombinations(String digits) {
          List<String> rst = new ArrayList<String>();
          if (digits == null || digits.length() == 0) {
              return rst;
          }
          HashMap<Character, String> map = new HashMap<Character, String>();
          map.put('2',"abc");
          map.put('3',"def");
          map.put('4',"ghi");
          map.put('5',"jkl");
          map.put('6',"mno");
          map.put('7',"pqrs");
          map.put('8',"tuv");
          map.put('9',"wxyz");
          Queue<String> queue = new LinkedList<String>();
          char c = digits.charAt(0);
          String s = map.get(c);
          for (int i = 0; i < s.length(); i++) {
              queue.offer(s.charAt(i) + "");
          }
          
          int size = 0;
          for (int i = 1; i < digits.length(); i++) {
              c = digits.charAt(i);
              s = map.get(c);
              size = queue.size();
              for (int j = 0; j < size; j++) {
                  String str = queue.poll();
                  for (int k = 0; k < s.length(); k++) {
                      queue.offer(str + s.charAt(k));
                  }
              }
          }
          while (!queue.isEmpty()) {
              rst.add(queue.poll());
          }
          
          return rst;
      }
masked: public List < String > var_1 ( String var_2 ) {
    List < String > var_5 = new ArrayList < String > ( ) ;
    if ( var_2 == null || var_2 . length ( ) == 0 ) {
      return var_5 ;
    }
    HashMap < Character , String > var_11 = new HashMap < Character , String > ( ) ;
    var_11 . put ( '2' , "abc" ) ;
    var_11 . put ( '3' , "def" ) ;
    var_11 . put ( '4' , "ghi" ) ;
    var_11 . put ( '5' , "jkl" ) ;
    var_11 . put ( '6' , "mno" ) ;
    var_11 . put ( '7' , "pqrs" ) ;
    var_11 . put ( '8' , "tuv" ) ;
    var_11 . put ( '9' , "wxyz" ) ;
    Queue < String > var_31 = new LinkedList < String > ( ) ;
    char var_33 = var_2 . charAt ( 0 ) ;
    String var_35 = var_11 . get ( var_33 ) ;
    for ( int var_36 = 0 ;
    var_36 < var_35 . length ( ) ;
    var_36 ++ ) {
      var_31 . offer ( var_35 . charAt ( var_36 ) + "" ) ;
    }
    int size = 0 ;
    for ( int var_36 = 1 ;
    var_36 < var_2 . length ( ) ;
    var_36 ++ ) {
      var_33 = var_2 . charAt ( var_36 ) ;
      var_35 = var_11 . get ( var_33 ) ;
      size = var_31 . size ( ) ;
      for ( int var_41 = 0 ;
      var_41 < size ;
      var_41 ++ ) {
        String var_43 = var_31 . poll ( ) ;
        for ( int var_44 = 0 ;
        var_44 < var_35 . length ( ) ;
        var_44 ++ ) {
          var_31 . offer ( var_43 + var_35 . charAt ( var_44 ) ) ;
        }
      }
    }
    while ( ! var_31 . isEmpty ( ) ) {
      var_5 . add ( var_31 . poll ( ) ) ;
    }
    return var_5 ;
  }
  