n을 입력하면 1부터 n까지 출력해보자
반복문으로 스택에 차곡차곡 쌓아서 출력한다
함수 내부에 if, else로 리턴을 언제할지 잘 정의해두자 먼저 print로 출력하면 3 2 1 순서로 나오고
먼저 재귀를 돌면 3 2 1 0 까지 갓다가 0 리턴 1 리턴 2리턴 3 리턴 하면서 1 2 3 출력한다
if (n == 0) return;
else {
dfs(n-1);
System.out.print(n + " ");
}
import java.util.*;
class Main {
public void dfs(int n){
if (n == 0) return;
else {
dfs(n-1);
System.out.print(n + " ");
}
}
public static void main(String[] args) {
Main T = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
T.dfs(n);
}
}
'알고리즘 이전 > 재귀, DFS, BFS, Tree, Graph' 카테고리의 다른 글
부분집합 구하기(DFS) (0) | 2023.08.15 |
---|---|
이진트리순회(DFS) (0) | 2023.08.15 |
피보나치 수열 (0) | 2023.08.14 |
팩토리얼 (0) | 2023.08.14 |
이진수 출력 (0) | 2023.08.14 |