/ *
이진 트리와 특정 값의 경로.
입력과 진 정수, 노드의 이진 값을 인쇄하고 모든 입력 정수의 경로.
경로 정의 경로를 형성하는 리프 노드에 나무 아래의 루트 노드에서 시작 노드를 통과하고있다.
* /
java.util의를 가져옵니다. *;
공용 클래스 Class29 {
공용 클래스의 TreeNode {
INT 발 = 0;
TreeNode를 왼쪽 = NULL을;
TreeNode를 오른쪽 = NULL;
공공의 TreeNode (INT의 발) {
this.val = 브로;
}
}
개인의 ArrayList <정수> = 새로운 노드 목록의 ArrayList <정수> ();
개인의 ArrayList <ArrayList를 <정수 >> pathList = 새로운 ArrayList를 <ArrayList를 <정수 >> ();
공공의 ArrayList <ArrayList를 <정수 >> FindPath (TreeNode를 노드 INT 대상) {
경우 (노드 == NULL) {
복귀 pathList;
}
nodeList.add (node.val);
대상 - = node.val;
경우 (목표 == 0 && node.left == 널 && node.right == NULL) {
I = 0 나타내는 int
동안 (ⅰ <pathList.size () && nodeList.size () <pathList.get (I)의 크기는 ()) {
I ++;
}
pathList.add (I, 새로운 ArrayList에 <정수> (노드 목록));
= FindPath PathList (node.right 대상)
}
마지막 노드 제거 //
nodeList.remove (nodeList.size () - 1이다.),
리턴 PathList 단계;
}
공공 정적 무효 메인 (문자열 []에 args) {
// TODO 자동 생성 방법 스텁
}
}