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/P8Yiq
https://shorturl.fm/CxHeZ
https://shorturl.fm/AwDMY
https://shorturl.fm/cztET
https://shorturl.fm/VdUD3
https://shorturl.fm/aSsgy
https://shorturl.fm/iuiDE
https://shorturl.fm/BY0OE
https://shorturl.fm/neA8q
https://shorturl.fm/sAKRs