class Solution {
public int[][] solution(int n) {
List<Integer[]> answer_list = new ArrayList<>();
hanoi(answer_list, n, 1,3,2);
int[][] answer = new int[answer_list.size()][2];
for(int i=0; i<answer.length; i++) {
Integer[] now = answer_list.get(i);
answer[i][0] = now[0];
answer[i][1] = now[1];
}
return answer;
}
void hanoi(List<Integer[]> answer_list, int n, int start, int to, int via){
if(n==1) {
move(answer_list, 1, start, to);
} else {
hanoi(answer_list, n–1, start, via, to);
move(answer_list, n, start, to);
hanoi(answer_list, n–1, via, to, start);
}
}
void move(List<Integer[]> answer_list, int n, int start, int to) {
Integer[] answer = {start, to};
answer_list.add(answer);
}
}
https://shorturl.fm/J8yOB
https://shorturl.fm/OULfQ
https://shorturl.fm/sO0KA
https://shorturl.fm/lJXiJ
https://shorturl.fm/equn5
https://shorturl.fm/A8Syf
https://shorturl.fm/tEWad
https://shorturl.fm/XHRSj
https://shorturl.fm/IDN0w
https://shorturl.fm/fS4B7