https://leetcode.com/problems/all-possible-full-binary-trees/
위에 그림에서 알 수 있드시
dfs(3) => [1,1]
dfs(5) => [1,3], [3,1]
dfs(7) => [1,5], [3,3], [5,1]이 된다.
dfs(3) = [1,1]로 리턴을 하게 된다면 dfs(5) = [1, [1, 1]], [[1, 1], 1]이 될 것이고 dfs(5)도 리턴을 하게된다면 dfs(7) = [1, [1, [1, 1]]] or [1, [[1, 1], 1]] or [[1, 1], [1, 1]] or [[1, [1, 1]], 1] or [[[1, 1], 1], 1]이 될 것이다.
알고나니 쉽지만 몰랐을 때에는 어려운 문제였다. 계속해서 반복학습 해야겠다.