gpt4 book ai didi

java - 基于使用java的递归

转载 作者:行者123 更新时间:2023-11-29 07:33:35 25 4
gpt4 key购买 nike

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。但是,当我使用注释代码时,我得到的是正确的长度。为什么会这样?

最佳答案

length(he.next, count++)count 的原始值传递给方法调用,因为您使用的是后增量运算符。因此你总是传递 0。

length(he.next,++count) 会起作用,因为这里会传递 count 的增量值。

在您的注释代码中,您没有将 count++ 的值传递给方法调用,而是在它已经递增后传递 count,这也有效。

关于java - 基于使用java的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38889585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com