2016-12-11 8 views
0

이진 트리에서 잎을 인쇄하는 코드를 구현해야하지만 몇 가지 오류가 있었지만 솔직하게 반복적으로 반복되므로 한 번만 피할 수있는 방법을 설명해 주시면 감사하겠습니다. 내 코드에서bst 인쇄 오류가 발생했습니다

public void printLeaves() {  
int counter = 1; 
printLeaves(overallRoot,counter); }  
private void printLeaves(IntTreeNode root ,int counter ) { 
//System.out.println(counter); 
  if (root.data==0) { } else if(root.left==null&&root.right==null){ 
    if (counter==1){System.out.print( "leaves: ");} 
    counter++; 
    System.out.print(root.data+" ");} 
    else { printLeaves(root.right,counter);  
      printLeaves(root.left,counter); 
    } 

오류가 잎을 포함 : 두 번 인쇄하기 내 코드

를 구현하는 동안 내가 예상하지 않는 일부 개념이 있기 때문에 ((내가 어디에서 어떻게 내 카운터를 구현하기 위해 결코 때문에)와 널 포인터 예외 코드

else { printLeaves(root.right,counter); 
     printLeaves(root.left,counter); 
} 

root.right 및 root.left가 호출하기 전에 null가 아닌 경우 당신은 확인하지 않는에서

답변

0

.