杨村长 Vue3从入门到精通
List<String> result = new ArrayList<>();
// 递归退出条件
if (condition xx) {
return result;
}
// 判断 [position, s.length() - 1] 是否是一个结果
if (s.substring(position) is result) {
result.add(s.substring(position));
}
// 递归分解子问题,到下一层 => 可能要考虑剪枝
// 从后向前遍历,可以最大可能利用缓存
for (int i = s.length() - 1; i >= position; i--) {
// 阶段性结果