private void interpret(int len,int pos,List<Character> result,char[][] t){
        if(pos== len){
            print(result);
            return;
        }
        if(t[pos][0] != '0'){
            result.add(t[pos][0]);
            interpret(len,pos+1,result,t);
            result.remove(result.size()-1);
        }
        
        if(pos+1 < len && t[pos][1] != '0'){
            result.add(t[pos][1]);
            interpret(len, pos+2, result, t);
            result.remove(result.size()-1);
        }
            
    }
http://www.geeksforgeeks.org/find-all-possible-interpretations/
src/com/interview/recursion/InterpretationOfArray.java