日期:2014-05-20 浏览次数:21086 次
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public class StringSort {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
int subLength = 0;
StringBuilder sb = new StringBuilder();
Set<MyString> strs = new TreeSet<MyString>();
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if((c<='z'&&c>='a')||(c<='Z'&&c>='A')){
subLength++;
sb.append(c);
}
else
{
if(subLength!=0){
System.out.println(sb.toString()+" "+subLength);
strs.add(new MyString(sb.toString(), subLength));
sb.delete(0,sb.capacity());
subLength = 0;
}
}
}
if(subLength!=0){
System.out.println(sb.toString()+" "+subLength);
strs.add(new MyString(sb.toString(), subLength));
}
java.util.Iterator<MyString> it = strs.iterator();
while(it.hasNext()){
MyString myString = it.next();
System.out.println(myString.subStr);
}
}
}
class MyString implements Comparable<MyString>{
String subStr;
int subLength;
public MyString(String subStr, int subLength) {
this.subStr = subStr;
this.subLength = subLength;
}
@Override
public int compareTo(MyString o) {
if(this.subLength>o.subLength)
return -1;
else if(this.subLength>o.subLength)
return 1;
else
return 0;
}
@Override
public boolean equals(Object obj) {
return this.subStr.equals(((MyString)obj).subStr);
}
}