蓝桥杯模拟赛--字符串比较
2017-04-03 15:00
309 查看
标题:字符串比较
我们需要一个新的字符串比较函数compare(s1, s2).
对这个函数要求是:
1. 它返回一个整数,表示比较的结果。
2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。
3. 结果的绝对值表示:在第几个字母处发现了两个串不等。
下面是代码实现。对题面的数据,结果为:
-3
2
5
仔细阅读源程序,填写划线位置缺少的代码。
我们需要一个新的字符串比较函数compare(s1, s2).
对这个函数要求是:
1. 它返回一个整数,表示比较的结果。
2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。
3. 结果的绝对值表示:在第几个字母处发现了两个串不等。
下面是代码实现。对题面的数据,结果为:
-3
2
5
仔细阅读源程序,填写划线位置缺少的代码。
public class 字符串比较 { static int compare(String s1, String s2) { if(s1==null && s2==null) return 0; if(s1==null) return -1; if(s2==null) return 1; if(s1.isEmpty() && s2.isEmpty()) return 0; if(s1.isEmpty()) return -1; if(s2.isEmpty()) return 1; char x = s1.charAt(0); char y = s2.charAt(0); if(x<y) return -1; if(x>y) return 1; int t = compare(s1.substring(1),s2.substring(1)); if(t==0) return 0; return t>0?t+1:t-1; //填空位置 } public static void main(String[] args) { System.out.println(compare("abc", "abk")); System.out.println(compare("abc", "a")); System.out.println(compare("abcde", "abcda")); } }
相关文章推荐
- 蓝桥杯模拟赛:字符串比较
- 蓝桥杯模拟赛 猜算式
- 蓝桥杯 模拟赛 F藏宝图
- 蓝桥杯第五次模拟赛--合并数字
- 计蒜客 蓝桥杯模拟赛5 合并数字 (垃圾水)
- 蓝桥杯模拟赛第五场 - D. 阶梯三角形
- 2017年蓝桥杯模拟赛-1、年龄问题
- 2013年蓝桥杯模拟赛答案
- 计蒜客 蓝桥杯B组模拟赛(五)末尾0的个数
- 计蒜客 2018蓝桥杯省赛 B组模拟赛(一) D题 LIS(java)
- 2018 蓝桥杯省赛 A 组模拟赛 蒜头君下棋
- 蓝桥杯模拟赛(五)礼物盒【dfs】
- 蓝桥杯模拟赛-引爆炸弹-DFS+并查集
- 蓝桥杯模拟赛--康托展开式--全排列(不重复数据)
- 2017年蓝桥杯模拟赛-2方程的解
- 2013年蓝桥杯模拟赛答案
- 蓝桥杯2018第五次模拟赛--素数的个数
- 蓝桥杯模拟赛五 素数的个数
- 2018 蓝桥杯省赛 A 组模拟赛 划分整数
- 2013蓝桥杯【模拟赛】1的个数