• LeetCode OJ: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.

    更改当前节点的值来实现

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

     没什么好说的,下面是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 public class Solution {
    10     public void deleteNode(ListNode node) {
    11         node.val = node.next.val;
    12         node.next = node.next.next;
    13     }
    14 }
  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/-wang-cheng/p/4889053.html
Copyright © 2020-2023  润新知