[英]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)
這意味着,直到檢查完最后一個節點(以node
為null
表示)之后,您才可以停止循環。
順便說一下,除非方法簽名由作業分配固定,否則您可能希望方法返回一個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.