我正在 geeksforgeeks 平台上解决链表问题,有人给了我一个问题,我会提到检查它的链接。我对此得到了空指针期望。 链接:- https://practice.geeksforgeeks.org/problems/linked-list-insertion-1587115620/1/?category[]=Linked%20List&difficulty[]=-1&page=1&query=category[]Linked%20Listdifficulty[]-1page1#
代码:-
Node insertAtBeginning(Node head, int x)
{
// code here
Node inserting = new Node(x);
inserting.next = head;
return inserting;
}
// Should insert a node at the end
Node insertAtEnd(Node head, int x)
{
// code here
Node first = head;
while(head.next != null){
head = head.next;
}
Node inserting = new Node(x);
head.next = inserting;
return first;
}
答案 0 :(得分:1)
关于问题描述:
<块引用>提示:在最后插入时,请确保显式处理 NULL。
看起来如果列表没有初始化并且调用了 insertAtEnd
方法,'head' 参数为空。问题描述中的示例 2 给出了这种情况。
我建议像检查这样的空值:
Node insertAtEnd(Node head, int x){
if(head == null){
return new Node(x);
}
...
}