簡體   English   中英

如何檢查鏈表中的最后一個節點值?

[英]How to check the last node value in the linked list?

我在下面編寫的代碼不會檢查我要查找的值是否在最后一個節點中。 如何檢查最后一個節點的值?

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


}

while條件下,您要檢查下一個節點是否為空。 這意味着當當前迭代在最后一個節點上時,將不會對其進行檢查。 您需要檢查node本身是否為null ,這意味着您已超出鏈接列表的末尾。

while (node != null)

這意味着,直到檢查完最后一個節點(以nodenull表示)之后,您才可以停止循環。

順便說一下,除非方法簽名由作業分配固定,否則您可能希望方法返回一個boolean指示是否找到了該值,而不是如果發現則打印任何內容,而不是不打印任何內容。

最后一個節點是end = null之前的一個節點。 只要遵循想法即可(代碼可能會有一個小錯誤)

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
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM