public void length() {
System.out.println(length(head, 0));
}
public int length(Node he, int count) {
if(he!=null) {
// System.out.println(he.data +" "+count++);
// count++;
// return length(he.next, count);
return length(he.next, count++);
}
return count;
}
上記のコードでは、リンクされたリストの長さを見つける必要があります。同じコードを実行すると長さが0になりますが、コメント付きのコードを使用すると正しい長さが得られます。なぜそれが起こっているのですか?Javaを使用した再帰に基づく
'数++'実際に 'count'を渡し、[この質問を参照してくださいどのようにポストインクリメントが動作する](http://stackoverflow.com/questions/2371118/how-do-the-post-increment-i--pre-increment-i-operators-work-in-java) – SomeJavaGuy
2番目のパラメータを削除して単純に ' return(he == null)? 0:1 +長さ(he.next); '? – fabian
おかげで@ fabian ..私は実際にあなたを介して他の方法を見つけた。 :) –