JAVA_LeetCode 95_Unique Binary Search Trees II 풀이 class Solution { public List generateTrees(int n) { if(n == 0) return new ArrayList(); return tree(1, n); } private List tree(int start, int end) { List allTrees = new ArrayList(); // 시작값이 끝값보다 큰 경우 범위가 잘못되어 빈 트리를 추가한다. if(start > end){ allTrees.add(null); return allTrees; } // start부터 end까지 루트 노드로 선택해서 트리 구성 for(int i = start; i <= end; i++){ // 이진탐색트리 조건에 의해 아래 내용 실행 // 루트 i를 기준으로 가능한 왼쪽 서브트리 모두 구하기 List