LeetCode 237. Delete Node in a Linked List(删除链表中的一个节点)

来源:互联网 发布:mac怎么关闭icloud 编辑:程序博客网 时间:2024/04/24 20:53

原题网址:https://leetcode.com/problems/delete-node-in-a-linked-list/

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.

思路:因为无法获取到上一节点,这种情况下只能是修改本节点的val值,然后将本节点的next指向下下个节点了,时间复杂度O(1)。

/** * 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) {        node.val = node.next.val;        node.next = node.next.next;    }}




0 0