题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

import java.util.*;

/**
 * @author Shan
 * @create 2021-05-31 下午 8:02
 */
public class test {
    public static void main(String args[]) {
        Scanner scn=new Scanner(System.in);
        int num=Integer.parseInt(scn.nextLine());
        String[] strs=new String[num];
        for(int i=0;i<num;i++){
            strs[i]=scn.nextLine();
        }
        Arrays.sort(strs, new Comparator<String>() {    //自定义排序规则
            @Override
            public int compare(String o1, String o2) {
                int i=0;
                while (i<o1.length() && i<o2.length()){
                    if(o1.charAt(i)!=o2.charAt(i))
                        return o1.charAt(i)-o2.charAt(i);    //比较字符
                    i++;        //若第一个相等,则比较第二个,依次类推
                }
                if(i<o1.length() && i>=o2.length())
                    return 1;
                else if(i>=o1.length() && i<o2.length())
                    return -1;
                return 0;
            }
        });
        for(int i=0;i<strs.length;i++)
            System.out.println(strs[i]);
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务