Java 如何检查链接列表中的最后一个节点值?

Java 如何检查链接列表中的最后一个节点值?,java,data-structures,Java,Data Structures,我在下面编写的代码不会检查我要查找的值是否在最后一个节点中。如何检查最后一个节点值 public void search(int value) { Node node = head; while(node.next!=null) { if(node.data == value) { System.out.println("Found"); } node = node.next;

我在下面编写的代码不会检查我要查找的值是否在最后一个节点中。如何检查最后一个节点值

public void search(int value)
{
    Node node = head;
    while(node.next!=null)
    {
        if(node.data == value)
        {
            System.out.println("Found");
        }
            node = node.next;
        }


}

while
条件中,检查下一个节点是否为空。这意味着当当前迭代位于最后一个节点上时,将不会对其进行检查。您需要检查
节点
本身是否为
null
,这意味着您已经从链表的末尾跑了出来

while (node != null)
这意味着您在检查最后一个节点之前不会停止循环,该节点由
node
表示为
null


顺便说一句,除非方法签名通过家庭作业固定,否则您可能希望该方法返回一个指示是否找到该值的
布尔值
,而不是在找到某个值时打印该值,在未找到该值时不打印任何值。

最后一个节点是end=null之前的节点。只需遵循想法(代码可能有一个小错误)


退出
后再添加一个检查,而
要检查最后一个节点,请选中“如果您认为对方回答了您的问题,请将对方的回答标记为已接受”@SaikumarAllamThanks感谢您的回答。作为这个问题的提问者,您可以根据自己的判断,认为您的问题回答得最好。
public void search(int value)
{
    Node node = head;
    Node lastnode;

    while(node.next!=null)
    {
        if(node.data == value)
        {
            System.out.println("Found");
        }
            lastnode = node;
            node = node.next;
            if(node==null)
                System.out.println("Last node Found");   //lastnode.data
        }
}