- String형 반환값을 갖는 재귀함수에서 새로운 입력값이 조건에 맞지 않는 경우 그 입력을 취소하고 뒤로 가고 싶었는데
return을 쓰자니 String 형을 리턴해줘야해서 까다로웠다.
그럴 때 null 값을 이용하여 해결하는 방법을 배웠다.
public String dfs(String str , int len){
if (/**종료조건**/) return str;
/** 조건can~~~~~**/
for(int i =0;i<N;i++){
result = "~~"
if(can){
String answer = dfs(result, len);
if(answer!=null) return answer;
}
}
return null;
}
정확한 원리는 모르겠지만
예를들어
12345 + 6 에서
6이 조건에 맞지않는경우 다시 뒤로 돌아가서 남아있는 과정을 거친다.
12346이 되고 6이 또 조건에 맞지않으므로 다시 뒤로 돌아가서
1235
대충 이런식으로 뒤로 돌아갈 수 있다.
정확한 원리를 알게되면 수정하도록 할 것이다.
'공부 일지 > 개인 공부 기록용' 카테고리의 다른 글
2022/08/03 [동기, 비동기, 블로킹, 논블로킹] (1) | 2022.08.03 |
---|---|
2022/07/28 (0) | 2022.07.28 |
2022/07/22 (0) | 2022.07.22 |
2022/07/20 (0) | 2022.07.21 |
2022/07/15 (0) | 2022.07.15 |