A1096. 求子串

【问题描述】
   求一个长度为n的字符串中所有长度为k的子字符串,并将所有子串按字典序从小到大输出。

【输入格式】
  输入共2行。
  第一行为字符串,其长度为n(1≤n≤1000),字符串中不包含空格。
  第二行一个整数k,0<k≤min(5, n)。

【输出格式】
  输出共一行。
  按从小到大排列的所有子字符串, 子串之间用空格隔开。

【样例输入】
  HelloWorld
  3

【样例输出】
  Hel Wor ell llo loW oWo orl rld

package www.tsinsen.com;

import java.util.Arrays;
import java.util.Scanner;

public class A1096 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        String str=scan.next();
        int k=scan.nextInt();
        String[] strs=new String[str.length()-k+1];
        for(int i=0;i<=str.length()-k;i++) {
            strs[i]=str.substring(i,i+k);
        }
        Arrays.sort(strs);
        for(int i=0;i<strs.length;i++) {
            if(i==strs.length-1) {
                System.out.println(strs[i]);
            }else {
                System.out.print(strs[i]+" ");
            }
        }
    }

}

 

posted @ 2018-02-11 19:00  henu小白  阅读(192)  评论(0)    收藏  举报