题目描述:
你有一套活字字模 tiles,其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。
输入:
AAB
AAABBC
输出:
8
188
题意:
题目描述
题解:
简单dfs,直接爆搜
代码:
class Solution {
public int numTilePossibilities(String tiles) {
if (tiles == null || tiles.length() == 0) {
return 0;
}
Set<String> set = new HashSet<>();
numTilePossibilities_dfs(tiles, "", set, new ArrayList<>());
return set.size();
}
public void numTilePossibilities_dfs(String tiles, String curS, Set<String> set, List<Integer> list) {
for (int i = 0; i < tiles.length(); i++) {
if (!list.contains(i)) {
set.add(curS + tiles.charAt(i));
list.add(i);
numTilePossibilities_dfs(tiles, curS + tiles.charAt(i), set, list);
list.remove((Integer)i);
}
}
}
}