zoukankan      html  css  js  c++  java
  • LeetCode 237. Delete Node in a Linked List

    原题链接在这里: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 -> 4after calling your function.

    题解:

    单链表不能往回走,把下一个点复制到当前点,然后去掉下一个点.

    Time Complexity: O(1). Space: O(1).

    AC Java:

     1 /**
     2  * Definition for singly-linked list.
     3  * public class ListNode {
     4  *     int val;
     5  *     ListNode next;
     6  *     ListNode(int x) { val = x; }
     7  * }
     8  */
     9 class Solution {
    10     public void deleteNode(ListNode node) {
    11         if(node.next == null){
    12             node = null;
    13             return;
    14         }
    15         
    16         node.val = node.next.val;
    17         node.next = node.next.next;
    18     }
    19 }

    类似Remove Linked List Elements.

  • 相关阅读:
    第四次作业
    第三次作业
    第二次作业。
    国庆作业。
    实验2-4
    实验2-3
    实验2-2
    实验2-1
    实验1-3
    实验 1-1
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/4966097.html
Copyright © 2011-2022 走看看