我们在笔试中经常会遇到需要对字符串进行排列或者组合的题目。本篇文章对字符串的排列和组合进行递归版本的实现。如果你有更简单易懂的方法,一定要在评论区留下来~
1、字符串的组合【子序列】
题目:输入一个字符串,输出该字符串中字符的所有组合。
例子:输入:abc,它的组合有:a、b、c、ab、ac、bc、abc
- 分析:我们可以将字符串中的每个字符看成二叉树的一个节点,根节点为空,每个节点都会有两种选择:要 和 不要 两种选择 。那么我们就可以利用递归实现。
public class 字符串子序列 {
public static void printAllSubString(String str){
if(str == null){
return;
}
char[] chars = str.toCharArray();
if(chars.length > 0){
String pre = new String(""); // preÿ