oj237. Delete Node in a Linked List

    xiaoxiao2021-04-19  71

    Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.

    Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4after calling your function.

    翻译:

    编写一个函数来删除单链表中的节点(尾部除外),只允许访问该节点。

    假设链表是1 -> 2 -> 3 -> 4和你被赋予第三个节点的值3,链表应该1 -> 2 -> 4在调用你的函数后。

    思路:

    刚开始写链表的题,还不是很熟,上来就想循环,走了歧路。正解为判断链表下一节点是不是空,不为空就将当前节点的值等于下一节点的值,并将当前节点指向下下个节点。下一节点为空则当前节点为空。

    public void deleteNode(ListNode node) { if(node.next != null) { node.val = node.next.val; node.next = node.next.next; } node = null; }

    转载请注明原文地址: https://ju.6miu.com/read-675674.html

    最新回复(0)