trie를 트래버스하는 방법을 구현하고 있습니다. (더 구체적으로 말하자면, 리프 노드 수를 계산하려고합니다.이 리프 노드로가는 가장자리에는 모두 터미네이터 기호 '#').재귀를 사용할 때 Java 컴파일러 오류 'return return statement'가 누락되었습니다.
내가 자바를 사용하고 있는데이 방법을 사용할 때 오류가 점점 오전 :
public int traverse(Node n){
for(int i=0; i<n.getNumEdges(); i++){
if(n.getEdgeChar(i) == '#'){
return 1;
}
else{
return traverse((n.getEdge(i)).getNode());
}
}
}
나는이 오류를 받고 있어요 왜 이해한다, 그러나 나는 주위 어떻게받을 수 있나요? 처음에는 매개 변수로 noLeaves
을 전달하는 것이 가장 좋다고 생각했지만 일부 조사를 한 후에 위의 코드가 더 나은 방법이라고 생각했습니다. 난이 컴파일러 오류를 해결하는 방법을 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다!
외부 루프에서도 기본 return 문을 추가하십시오. –
첫 번째 단계에서 함수에서 돌아 오면 루프는 두 번째 단계로 이동해야합니까? –
@PavneetSingh 이렇게하면 더 나아질 수는 없지만 컴파일은되지만 여전히 작동하지 않습니다. –