九度OJ 1099 后缀子串排序 JAVA

来源:互联网 发布:android 6.0系统源码 编辑:程序博客网 时间:2024/05/29 11:33
题目描述:

对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain 
rain 
ain 
in 
n

然后对各子串按字典顺序排序,即: 
ain,grain,in,n,rain

输入:

每个案例为一行字符串。

输出:

将子串排序输出

样例输入:
grain
样例输出:
aingraininnrain
样例代码  已AC
采用priorityqueue集合类,能够按照内部元素的compare方法(参见comparator接口)自动对内部元素排序,string即为默认按字母序
import java.util.Scanner;import java.util.PriorityQueue;public class Main{ // 九度1099public static void main(String[] args){Scanner scan = new Scanner(System.in);while(scan.hasNext()){String str = scan.next();PriorityQueue<String> pq = new PriorityQueue<String>();for(int i = 0 ; i < str.length() ; i++){pq.add(str.substring(i, str.length()));}int size = pq.size();for(int i = 0; i < size;i++){ //原因在此: 只能用size不能用pq.size(),每次poll之后都会删除元素System.out.println(pq.poll());}}}}


0 0