关于为链表添加构造方法的问题

来源:5-2 测试自己的Leetcode链表代码

the__sky123

2018-07-07

我想要为自己的链表添加一个可以吧数组转化为链表的构造方法,依据老师在本节的部分代码,我做了如下的实现

public Linkedlist(E[] arr) {
		
		if(arr == null || arr.length == 0)
			throw new IllegalArgumentException("arr can not be empty");
		
		dummyHead.next.e = arr[0];
		Node cur = dummyHead.next;
		for(int i = 0 ; i < arr.length ; i ++) {
			cur.next = new Node(arr[i],cur.next);
			cur = cur.next;
		}
	}
debug只会跳 java.lang.NullPointerException 请老师帮忙解答,谢谢


写回答

2回答

liuyubobobo

2018-07-07

初始的时候dummyHead.next为空,第6行调用dummyHead.next.e,相当于调用了 空.e,所以报空指针异常:)


再试试看?加油!:)

0
3
liuyubobobo
回复
the__sky123
赞!:)
2018-07-07
共3条回复

the__sky123

提问者

2018-07-07

public Linkedlist(E[] arr) {
		
		if(arr == null || arr.length == 0)
			throw new IllegalArgumentException("arr can not be empty");
		
		dummyHead = new Node(null,null);
		Node prev = dummyHead;
		for(int i = 0 ; i < arr.length ; i ++) {
			
			Node node = new Node(arr[i]);
			prev.next = node;
			prev = prev.next;
			
		}
		size = arr.length;
		
	}


0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程