美文网首页
打印一个字符串的全部子序列,包括空字符串

打印一个字符串的全部子序列,包括空字符串

作者: 海是倒过来的天_67f2 | 来源:发表于2019-08-12 22:56 被阅读0次

    子序列顺序不能变

    输入:

    abc

    输出:

    // 第一个是空串

    c

    b

    bc

    a

    ac

    ab

    abc

    代码:

    public class AllStub {

        public static void main(String [] args) {

            String s = "abc";

            printAllSub(s);

        }

            private static void printAllSub(String s) {

                if (s == null) return;

                char[] chars = s.toCharArray();

                if (chars.length>0) {

                    String pre = new String("");

                    printAllSub(0, pre, chars);

                } else {

                    System.out.println("");

                }

            }

            private static void printAllSub(int i, String pre, char[] chars) {

                if (i == chars.length) {

                    System.out.println(pre);

                    return;

                }

                if (i >chars.length) return;

                printAllSub(i+1, pre,chars);

                printAllSub(i+1, pre+String.valueOf(chars[i]), chars);

            }

    }

    相关文章

      网友评论

          本文标题:打印一个字符串的全部子序列,包括空字符串

          本文链接:https://www.haomeiwen.com/subject/pqfmjctx.html