私は、可能なすべての部分文字列を循環して作成する必要がある String を持っています。たとえば、「HelloWorld」があった場合、「rld」が可能性の 1 つになるはずです。String メソッドの substring(int i, int k) は k を除くため、
|H|e|l|l|o|W|o|r|l|d|
0 1 2 3 4 5 6 7 8 9
それから
substring(7,9) は "rl" を返します
これを回避し、包括的に機能させるにはどうすればよいですか? 部分文字列が作成元の文字列と等しくならない理由を理解していますが、この場合、この場合は非常に役立ちます。
Codingbat の例: http://codingbat.com/prob/p137918
私が思いついたこと:
public String parenBit(String str) {
String sub;
if (str.charAt(0) == '(' && str.charAt(str.length() - 1) == ')')
return str;
for (int i = 0; i < str.length() - 1; i++) {
for (int k = i + 1; k < str.length(); k++) {
sub = str.substring(i,k);
}
}
return null;
}