尝试从链表中删除值



我正在尝试从列表中删除特定节点,但不知何故,这段代码不起作用。我有一个计数器来跟踪列表现在所在的索引。如果我要删除的计数和索引相同,则假设删除。

PS:我不应该使用链接列表API。

    public void doRemove(int index, int size) {
            // implementation
            int listCount =1;
            ListNode temp = head;
            ListNode previous = head;
            while (temp.getNext() != null)
            {
            listCount++;

                    previous = temp;
                    temp = temp.getNext();
                    if ( listCount == index) 
                    {
                    previous.setNext(temp);
                    temp.setNext(temp.getNext());
                    }
            }

            }
if ( listCount == index) 
{
   previous.setNext(temp.getNext());
 }

尝试使用这个。这是假设它是一个单链表。

看看这是否有帮助:

public void doRemove(int index, int size) {

        int listCount =1;
        ListNode temp = head;
        ListNode previous = head;
        for(int i=0;temp.getnext()!=null;i++)
        {
           listCount++;
                if(!(listCount == index))
               {
                   previous = temp;
                   temp = temp.getNext();
               } 
                else
               {
                  previous.setNext(temp.getNext());
               }
        }
 }

您没有删除节点:

使用这个: previous.setNext(temp.getNext());

prev -> temp -> temp.next

如果要删除temp,请使用上面的行。

相关内容

  • 没有找到相关文章

最新更新