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 }
  • 相关阅读:
    TP框架对数据库的操作
    Nginx的安装及配置
    微信小程序的入门
    MySQL的多表联查
    Larave中CSRF攻击
    Linux(三)
    Linux(二)
    Linux(一)
    安全测试检查项
    mysql-视图及索引简介
  • 原文地址:https://www.cnblogs.com/lolybj/p/6596088.html
Copyright © 2011-2022 走看看