使用递归在特定索引处反转字符串
Reverse String at a specific Index using Recursion
我将如何让它反转特定索引处的字符串,例如,在 i=1 处再见是 ybdoog,在 i=2 处再见是 bdoog。在返回的字符串中,该索引之前的任何内容都将被忽略。在Java
public static String revStr(String s, int i) {
if (s == null || s.length() <= 1)
return s;
else
return revStr(s.substring(1), i)+ s.charAt(0);
}
您需要 return s.substring(i)
而不是 s
因为您想要从 i
开始的反向子字符串。此外,为此,终止条件应为 if (s == null || s.length() <= i)
.
public class Main {
public static void main(String[] args) {
// Test
System.out.println(revStr("goodbye", 2));
System.out.println(revStr("goodbye", 1));
System.out.println(revStr("goodbye", 0));
}
public static String revStr(String s, int i) {
if (s.length() <= i)
return s.substring(i);
else
return revStr(s.substring(1), i) + s.charAt(0);
}
}
输出:
bdoog
ybdoog
eybdoog
我将如何让它反转特定索引处的字符串,例如,在 i=1 处再见是 ybdoog,在 i=2 处再见是 bdoog。在返回的字符串中,该索引之前的任何内容都将被忽略。在Java
public static String revStr(String s, int i) {
if (s == null || s.length() <= 1)
return s;
else
return revStr(s.substring(1), i)+ s.charAt(0);
}
您需要 return s.substring(i)
而不是 s
因为您想要从 i
开始的反向子字符串。此外,为此,终止条件应为 if (s == null || s.length() <= i)
.
public class Main {
public static void main(String[] args) {
// Test
System.out.println(revStr("goodbye", 2));
System.out.println(revStr("goodbye", 1));
System.out.println(revStr("goodbye", 0));
}
public static String revStr(String s, int i) {
if (s.length() <= i)
return s.substring(i);
else
return revStr(s.substring(1), i) + s.charAt(0);
}
}
输出:
bdoog
ybdoog
eybdoog