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

子序列顺序不能变

输入:

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);

        }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,125评论 0 2
  • 多态 任何域的访问操作都将有编译器解析,如果某个方法是静态的,它的行为就不具有多态性 java默认对象的销毁顺序与...
    yueyue_projects阅读 1,060评论 0 1
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 2,048评论 0 2
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 800评论 0 0
  • 有时候很想做个机器人,有编好的程序照着做就好。这是一个多懒的妈,不爱动脑,不爱操心,没准就是一老年痴呆的后备。为了...
    水天一色飞飞阅读 272评论 0 0

友情链接更多精彩内容