-
题目描述:
-
对于一个字符串,将其后缀子串进行排序,例如grain
其子串有:
grain
rain
ain
in
n然后对各子串按字典顺序排序,即:
ain,grain,in,n,rain
-
输入:
-
每个案例为一行字符串。
-
输出:
-
将子串排序输出
-
样例输入:
-
grain
-
样例输出:
-
ain grain in n rain
样例代码 已AC
采用priorityqueue集合类,能够按照内部元素的compare方法(参见comparator接口)自动对内部元素排序,string即为默认按字母序
import java.util.Scanner; import java.util.PriorityQueue; public class Main{ // 九度1099 public 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()); } } } }