完全なソリューションはありません!括弧内の部分文字列を取得JAVA
括弧の単一のペアを含む文字列を考えると、再帰的に新しいだけ括弧とその 内容の製紐なので、「XYZ(ABC)123」利回り「(ABC)」を計算します。
parenBit( "XYZ(ABC)123")→ "(ABC)"
parenBit( "X(こんにちは)")→ "(こんにちは)"
parenBit(「(XY )1" )→ "(XY)"
私のソリューションは、それが何をプリントアウトdoesntの
public String parenBit(String str) {
char c;
int start = 0;
int end = 0;
for(int i=0; i < str.length(); i++){
c = str.charAt(i);
if(c == '('){
start = i;
} if(c == '('){
end = i;
return str.substring(start, end);
}
}
return "andrew";
}
を動作しません。どうして?
2番目のifは 'if(c == ')')' – AhmadWabbi
にする必要があります。これを行うには*再帰的*メソッドを記述する必要があります。あなたの解は再帰を使用しません(=メソッドはそれ自身を呼び出す必要があります)。 – Jesper
あなたの解は、空文字列の最初の出現時に返します。 修正:{}}}} {' – krzydyn