Delete Node in a Linked List

来源:互联网 发布:c 语言主要应用领域 编辑:程序博客网 时间:2024/05/22 03:07

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.

题意:写一个函数来删除一个单链表中的一个节点(除了尾部),只访问该节点。就是在不知道头指针的情况下删除指定节点

思路:让指定节点的值等于它的下一个节点的值;然后将该指定节点的指针指向它的下下个节点。

** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public void deleteNode(ListNode node) {        if (node == null || node.next == null) {return;}          node.val = node.next.val;        node.next = node.next.next;    }}


0 0
原创粉丝点击