这段代码会删除链表中的最后一个节点吗?

时间:2014-04-23 15:04:59

标签: java data-structures linked-list nodes

它只是一个代码片段,但考虑到其他一切已被编码正确,这会逻辑删除最后一个节点吗?或者我的逻辑是否有问题?

问题回答。

1 个答案:

答案 0 :(得分:0)

目前,在退出current循环后,代码会抛出异常,因为nullwhile。该方法的正确版本(从特定位置删除)可能如下所示:

public static Node delete(Node head, int position)
{
    Node traverse = head;
    if(position == 0) { 
        //remember this case
        head = head.next;
        return head;
    }

    for(int i = 1; i < position; i++)
        traverse = traverse.next;

    Node deleteit = traverse.next; //want to skip over this node
    traverse.next = deleteit.next; 

    return head;
}