Java赋值
我在链接列表上有这个 Java 作业。该问题要求从最后一个节点中找到第 n 个节点。我已经针对不同的输入对其进行了测试,效果很好,但法官不接受我的解决方案。这是我的函数
该函数获取对列表头的引用和 n 的值,该值始终为非负数。
Node findNtoLast ( Node start, int n)
{
Node p,q;
p = start;
for(int i=0;i<n;i++)
{
p = p.next;
}
q = start;
while(p.next != null)
{
p = p.next;
q = q.next;
}
return q;
}
示例输入:
A -> B-> C-> D
n output
0 D
1 C
2 B
3 A
你能想到这个函数有什么问题吗?
I have this Java assignment on linked list. The question asks for finding nth node from the last. I have tested it for different inputs and it works fine but the judge is not accepting my solution. Here is my function
The function takes the reference to the list head and the value of n which will always be non-negative.
Node findNtoLast ( Node start, int n)
{
Node p,q;
p = start;
for(int i=0;i<n;i++)
{
p = p.next;
}
q = start;
while(p.next != null)
{
p = p.next;
q = q.next;
}
return q;
}
Sample input:
A -> B -> C -> D
n output
0 D
1 C
2 B
3 A
Can you please think of anything that is wrong in the function ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
情况
我认为您需要处理输入当前函数将为此类输入提供 NullPointerException 的
。编辑:
您可以计算节点数并进行比较。或者,您可以在
for
循环中进行检查,如下所示:I think you need to handle the case where input
Your current function will give a NullPointerException for such an input.
EDIT:
You can count the number of nodes and compare. Alternatively you can make a check in your
for
loop as: