대체 방법을 사용하는 대신 재귀 적으로이 문제를 해결할 수 있습니까? 재귀 적 방법을 더 잘 사용하려고 노력 중입니다.코딩 박쥐 재귀 연습 (java)
문자열이 주어지면 모든 소문자 'x'문자가 'y'문자로 변경된 새 문자열을 재귀 적으로 (반복 없음) 계산하십시오.
changeXY("codex") → "codey"
changeXY("xxhixx") → "yyhiyy"
changeXY("xhixhix") → "yhiyhiy"
나는 사기와 이런 식으로 해결하고 자바 문자열 방법에 대한 소스 코드를 볼려면 바꾸기를 시도하지만 난 그것을 이해하지 못했다. 내 방법이있다.
public String changeXY(String str) {
int len = str.length();
int i = 0;
String changedStr = str.replace("x","y");
if (len == 0)
return str;
return changedStr;
}
재귀 적 방법을 수행하는 방법에 대한 아이디어가 있으십니까?
다음 중 하나를 수행하는 방법을 알지 못했다는 보너스 연습이 있습니다. 도와 줘서 고마워 !!!
문자열이 주어지면 모든 'x'문자가 제거 된 새 문자열을 재귀 적으로 계산하십시오. 재귀를 중지
시킨 상태 :
noX("xaxb") → "ab"
noX("abc") → "abc"
noX("xx") → ""
시도해 보셨습니까? 귀하의 비 재귀 솔루션 외에도. – jrubins
너무 잘 모르겠지만'if (str.contains ("x")) {string result = changeXY (str.substring (1, str.length())}'? 그리고 changeXY 그것을 변경하려면 첫 번째 숯불에 보이는가요? –
나는 꽤 가까웠다? –