zoukankan      html  css  js  c++  java
  • 2017模拟赛:字符串比较

    我们需要一个新的字符串比较函数compare(s1, s2).
    对这个函数要求是:
    1. 它返回一个整数,表示比较的结果。
    2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。
    3. 结果的绝对值表示:在第几个字母处发现了两个串不等。

    下面是代码实现。对题面的数据,结果为:
    -3
    2
    5

    仔细阅读源程序,填写划线位置缺少的代码。

    -------------------------------------------------

     1 static int compare(String s1, String s2)
     2 {
     3     if(s1==null && s2==null) return 0;
     4     if(s1==null) return -1;
     5     if(s2==null) return 1;
     6     
     7     if(s1.isEmpty() && s2.isEmpty()) return 0;
     8     if(s1.isEmpty()) return -1;
     9     if(s2.isEmpty()) return 1;
    10     
    11     char x = s1.charAt(0);
    12     char y = s2.charAt(0);
    13     
    14     if(x<y) return -1;
    15     if(x>y) return 1;
    16     
    17     int t = compare(s1.substring(1),s2.substring(1));
    18     if(t==0) return 0;
    19     
    20     return t>0?t+1:t-1; //填空位置
    21 }
    22 
    23 public static void main(String[] args)
    24 {
    25     System.out.println(compare("abc", "abk"));
    26     System.out.println(compare("abc", "a"));
    27     System.out.println(compare("abcde", "abcda"));            
    28 }
  • 相关阅读:
    4.23计算机网络
    CF436F Banners
    CF1467C Three Bags
    LG P3247 [HNOI2016]最小公倍数
    LG P5473 [NOI2019] I 君的探险
    LG P3261 [JLOI2015]城池攻占
    LG P4149 [IOI2011]Race
    LG P3181 [HAOI2016]找相同字符
    SP7258 SUBLEX
    SP1811 LCS
  • 原文地址:https://www.cnblogs.com/lolybj/p/6596088.html
Copyright © 2011-2022 走看看