(String tiles,String output,HashSet<String> set, Boolean visited[])
| 1 | class Solution { |
| 2 | public static void backtrack(String tiles,String output,HashSet<String> set, Boolean visited[]){ |
| 3 | // Base Case |
| 4 | if(output.length()>0) |
| 5 | { |
| 6 | if(set.contains(output)) |
| 7 | return; |
| 8 | set.add(output); |
| 9 | } |
| 10 | for(int i=0;i<tiles.length();i++) |
| 11 | { |
| 12 | if(visited[i]) continue; |
| 13 | visited[i] = true; |
| 14 | backtrack(tiles,output+tiles.charAt(i),set,visited); |
| 15 | visited[i] = false; |
| 16 | } |
| 17 | return; |
| 18 | } |
| 19 | public int numTilePossibilities(String tiles) { |
| 20 | HashSet<String> set = new HashSet<String>(); |
| 21 | Boolean visited[] = new Boolean[tiles.length()]; |
no test coverage detected