题解 | #字符串排序#
字符串排序
http://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
//JAVA 原谅我的条件反射,看到这种字符按照字典排序的 首先想到tree相关的数据结构
//解法一:利用TreeMap自动为key进行字典排序的性质
//解法二:直接字符串比较大小,字符串的比较也是按照字典排序。
import java.util.*; import java.lang.*; //解法一: public class Main { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); TreeMap<String, Integer> map = new TreeMap<>(); while(sc.hasNext()){ //这里用过用sc.nextLine();回报下面这个错误。 //格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致) String str = sc.next(); //treemap自动把key按照字典排序的特性,这里的key已经排好了, //判断是否有多个相同的单词的处理。 if(map.containsKey(str)){ map.put(str,map.get(str)+1); }else{ map.put(str,1); } } //遍历map中的每个entry,用entry可以得到key和value for(Map.Entry<String, Integer> entry : map.entrySet()){ //这里i是为了打印多个相同单词的情况 for(int i =0; i<entry.getValue();i++){ System.out.println(entry.getKey()); } } } }