字典序最小

在编程中,你会遇到这样的概念:字典序最小

那么他是什么意思呢!

解释:字典序是指从前到后比较两个字符串的大小的方法。首先比较第一个字符,如果不同则第一个字符较小的字符串更小,如果相同则继续比较第2个字符......如此继续,来比较整个字符串的大小。

字典序最小

时间限制: 3000MS 内存限制: 589824KB

题目描述: Jack正在查询他昨天打的AtForces在线比赛的rank,他发现当两位选手排名相同的时候,id字典序小的会排在前面,他有个想法,往id里插入一个字母c,能使得他的id能够尽量往前排。

输入描述

第一行一个字符串id,表示他的用户名(1≤id长度≤1000),保证只由小写字母组成。

第二行一个字符c,表示被添加进去的字符,保证为一个小写字母。

输出描述

共一行,修改后的字典序最小的字符串。

样例输入

jackisnumberone

k

样例输出

jackiksnumberone

import java.util.Arrays;
import java.util.Scanner ;

public class Main {

  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    String str = scanner.next();
    char n =  scanner.next().charAt(0);
   
    System.out.print(Solution.getNewStr(str,n));

  }
}

class Solution {  

  public static String getNewStr(String str,char n){
    
    String tmp = null;
    for (int i=0;i<str.length();i++) {
      if((int)str.charAt(i)>(int)n){
        tmp = str.substring(0,i)+n + str.substring(i,str.length());
        break;
      }  
    }
    if(tmp==null || tmp.length()==0){
      tmp = str.concat(n+"");
    }
    return tmp;
  }

}

发现测试用例覆盖率 81 %,他也不给看有啥不过,先记录坑吧! 难道又是审题不对?

java		答案错误	81 %		161 MS	15,600 KB	02-24 01:39