Delete Node in a Linked List Java LeetCode

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 -> 4 after calling your function.

给定一个了列表中的node,让你删除这个node,初一看,这不是坑爹吗?没法获取前一个node,这怎么删。然后转念一想,我可以将当前节点的值赋成下一个节点的值,然后删除下一个节点啊:

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

你可能感兴趣的:(Leetcode,Java语言)