题解 | #字符串排序#

字符串排序

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());
            }
        }
    }
}
全部评论

相关推荐

努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务