두 갈래 트리 - 최소 경로
최소 경로
두 갈래 나무의 최소 경로는 두 갈래 나무의 뿌리 노드가 잎 노드에 도달하는 경로 중 가장 짧은 거리를 가리킨다.
//recursively
public int minDepth1(TreeNode root) {
if (root == null) {
return 0;
} else if (root.left != null && root.right != null) {
return 1+Math.min(minDepth(root.left), minDepth(root.right));
} else {
return 1+Math.max(minDepth(root.left), minDepth(root.right));
}
}
// iteratively, BFS
public int minDepth(TreeNode root) {
if (root == null) {
return 0;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
int depth = 1;
while (!queue.isEmpty()) {
int l = queue.size();
for (int i = 0; i < l; i++) {
TreeNode n = queue.poll();
if (n.left == null && n.right == null) {
return depth;
}
if (n.left != null) {
queue.add(n.left);
}
if (n.right != null) {
queue.add(n.right);
}
}
depth++;
}
return depth;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 데이터 구조 2차원 트리의 실현 코드일.두 갈래 트리 인터페이스 2 노드 클래스 3. 두 갈래 나무 구현 이 글을 통해 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.