思路:
首先定义一个方法,返回值为boolean类型。首先我们先判断两个字符串长度是否相同,如果不同,则直接返回false。其次如果两个字符串的首字母不一样也直接返回false。递归调用f()方法,传入字符换的第二个字符,依次循环,字符串的长度依次减小,直到两个字符串的长度1都为0,两个字符串一定相同,则返回false。
package Lq_算法练习;
//比较两个字符串是否相同
public class Demo_递归02 {
public static void main(String[] args) {
System.out.println(f("abc","abcd"));
System.out.println(f("abc","abc"));
}
public static boolean f(String s1,String s2) {
//判断两个字符串长度是否相同
if(s1.length()!=s2.length()) {
return false;
}
if(s1.length()==0) {
return true;
}
//判断两个字符串的首字母是否相同
if(s1.charAt(0)!=s2.charAt(0)) {
return false;
}
return f(s1.substring(1),s2.substring(1));
}
}
运行结果示例:
运行结果: