【发布时间】:2021-06-18 07:44:50
【问题描述】:
我需要使用递归方法找到两个字符串之间第一个不同字符的索引。
具有预期输出的示例:
rFirstDistinctPlace("Little parcels", "Little pretzels") -> 8
rFirstDistinctPlace("金影", "金影") -> 0
rFirstDistinctPlace("gold", "golda") -> 4
rFirstDistinctPlace("gold","gold") -> -1
注意: 我不能使用 .equals() 函数
我正在努力解决的问题是,如果字符串相等,我需要返回 -1,否则它可以正常工作。
这是我的代码:
public static int rFirstDistinctPlace (String s1, String s2) {
if (smallestString(s1,s2).length()==0){
return 0;
}
if(s1.charAt(0)!=s2.charAt(0))
return rFirstDistinctPlace(s1.substring(0,0),s2.substring(0,0));
return 1+rFirstDistinctPlace(s1.substring(1),s2.substring(1));
}
这是smallestString的辅助方法:
public static String smallestString (String s1, String s2){
if(s1.length()>s2.length()){
return s2;
}
else if (s2.length()>s1.length()){
return s1;
}
else
return s1;
}
谢谢!
【问题讨论】: