1
형제는 같은 부모를 가진 노드입니다. 바이너리 트리에서는 최대 하나의 형제가있을 수 있습니다. 루트는 형제가 될 수 없으므로 루트를 인쇄해서는 안됩니다.형제가없는 이진 트리의 모든 노드를 인쇄 하시겠습니까?
필자는 지금까지 사용해 왔던 모든 테스트 케이스에서 잘 작동하는 코드를 작성했지만 온라인 심사 위원에게 제출하려고했을 때 대부분의 경우에 잘못되었습니다. 내가 무엇인지 알아 내기 위해 최선을 다했지만 버그가 될 수있는 것이 무엇인지 파악할 수 없습니다. 또한 해당 테스트 케이스에 대한 액세스 권한이 없기 때문에 실행할 수 없습니다.
public static void printNodesWithoutSibling(BinaryTreeNode<Integer> root) {
if(root==null)
return;
printNodesWithoutSibling(root.left);
printNodesWithoutSibling(root.right);
if(root.right==null && root.left!=null)
{
System.out.print(root.left.data+" ");
return;
}
else if(root.left==null && root.right!=null)
{
System.out.print(root.right.data+" ");
return;
}
}
적어도 하나 개의 샘플 예상 출력이 거기에 당신의 교수 나 TA –
에 대한 좋은 질문처럼 소리 자바 리팩토링에 대한 문제가없는 것이라고 생각합니까? 코드는 항상 공백을 추가합니다. 마지막 노드에서도 받아 들일 수 있습니까? –
예 해당 테스트 사례 중 4 개가 정상적으로 실행되었지만 나머지 5 개는 실행되지 않았습니다 –