首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双向链表

双向链表
EN

Stack Overflow用户
提问于 2016-06-13 15:27:56
回答 1查看 119关注 0票数 1

我正在尝试拆分我的双链表。但是我在sublist.head = mid.next上得到了空指针异常。这是否意味着sublist.head指向null?我该如何解决这个问题??

代码语言:javascript
复制
public void splitMid(DoublyLinkedList<T> sublist)
{
    Node<T> current;
    Node<T> mid;
    int i;
    if (head == null)
    {
        sublist.head = null;
        sublist.rear = null;
        sublist.count = 0;
    }
    else
        if (head.next == null)
        {
            sublist.head = null;
            sublist.rear = null;
            sublist.count = 0;
        }
        else
        {
            mid = head;
            current = head.next;
            i = 1;
            if (current != null)
                current = current.next;
            while (current != null)
            {
                mid = mid.next;
                current = current.next;
                i++;
                if (current != null)
                    current = current.next;
            }
            sublist.head = mid.next;
            sublist.rear = rear;
            rear = mid;
            rear.next = null;
            sublist.count = count - i;
            count = i;
        }

}
EN

回答 1

Stack Overflow用户

发布于 2016-06-13 15:33:23

如果这条语句:

代码语言:javascript
复制
 sublist.head = mid.next;

(单独使用)抛出一个NPE,这意味着:

  • sublistnull.

、OR

  • midnullnull

(您可以使用调试器和条件断点,或者通过添加一些临时跟踪打印或断言来确定是哪个断点。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37783963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档