递归打印字符串的所有子串

题目 :给定一个字符串,要求打印字符串所有的子序列,包括空串
比如 abc 有字串 "" ,"a","ab","ac","abc","b","bc","abc"

思想 :
递归遍历字符串,每次可能把当前位置的字符传给下一个字符串,也可能不

代码

package com.algorithm.practice.string;

public class GetChildString {
    //打印当前字符串的字串 比如  abc 有字串 "" ,"a","ab","ac","abc","b","bc","abc"
    public static void  pringChildString(char[] chars,int index,String lastR){
            if (index==chars.length){//index代表当前遍历的字符在字符串的位置
                System.out.println(lastR);
                return;
            }
            pringChildString(chars,index+1,lastR+String.valueOf(chars[index]));//传当前元素
            pringChildString(chars,index+1,lastR);//不传当前元素
    }
    public static void main(String[] args){
        String str="abc";
        pringChildString(str.toCharArray(),0,"");
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容