我的列表节点无法返回"null"



我正试图编写一个程序来查找链表中的节点值。我打算让程序在值存在于列表中时返回值,而当它不存在于列表中时返回null。但是当我输入值(例如:4)如果不在链表中,则不能返回null

 package com.company;
    /**
     * Created by Administrator on 2016/10/20 0020.
     */
    public class find {
        public static void main(String[] args){
            ListNode node1 = new ListNode(1);
            ListNode node2 = new ListNode(2);
            ListNode node3 = new ListNode(3);
            node1.next = node2;
            node2.next = node3;
            ListNode node = findNode(node1,4);
            System.out.println(node.val);
        }
        public static ListNode findNode(ListNode head, int val){
            for (ListNode node = head; node != null; node = node.next ){
                if (node.val == val){
                    return node;
                }
            }
            return null;
        }
    }
    class ListNode{
        int val;
        ListNode next;
        ListNode(int x){
                val = x;
                next = null;
        }

    }
    Node node = findNode(node1,4);
    if(node == null)
    {
        System.out.println("The Node was not found in the linked list");
    }
    else
        System.out.println(node.val);

添加一个if检查,这样当findNode返回null而节点不存在所需值时,您就不会遇到空指针异常。你目前的实现工作,我运行它,它确实给了一个空的设计。

相关内容

  • 没有找到相关文章

最新更新