이진 트리 노드의 값과 입력 정수에 대한 모든 경로에서 정수와 이진 트리, 인쇄 입력 : 제공 (Java 버전) 스물아홉번째 제목 승리. 경로 정의 경로를 형성하는 리프 노드에 나무 아래의 루트 노드에서 시작 노드를 통과하고있다.

/ *
이진 트리와 특정 값의 경로.
입력과 진 정수, 노드의 이진 값을 인쇄하고 모든 입력 정수의 경로.
경로 정의 경로를 형성하는 리프 노드에 나무 아래의 루트 노드에서 시작 노드를 통과하고있다.
* /

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 자동 생성 방법 스텁

}

}

추천

출처www.cnblogs.com/zhuozige/p/12509942.html