0
이진 검색 트리를 직렬화 및 비 직렬화하는 표준 인터뷰 문제를 시도하고 있습니다. 원래 BST는 모든 null 인스턴스에서 -1로 분리 기호를 탐색하여 선주문을 사용하여 일련 화되었습니다. 이것은 직렬화 된 트리입니다. BST 직렬화 및 비 직렬화
1297-1-110-1-11413-1-117-1-19
이
은public static Node deserialize(List<Integer> list){
int index = 0;
return deserialize(list, index);
}
private static Node deserialize(List<Integer> list, int index) {
if(index == list.size()){
return null;
}
if(list.get(index) == -1){
index++;
return null;
}
Node root = new Node(list.get(index++));
root.setLeft(deserialize(list, index));
root.setRight(deserialize(list, index));
return root;
}
이 있지만 올바른 출력을 생성하지 않습니다는 BST를 역 직렬화 내 코드입니다. 디버깅에서 나는 함수의 폴드 아웃이 잘못된 결과를 초래할 때 인덱스의 값이 초기 값으로 떨어지고 있음을 깨달았습니다. 호출 스택에서 인덱스 값을 유지 관리 할 수있는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다.
이것은 디버깅 서비스가 아닙니다. – Raedwald