美文网首页
0237-删除链表中的节点

0237-删除链表中的节点

作者: liyoucheng2014 | 来源:发表于2019-01-12 08:46 被阅读0次

    删除链表中的节点

    方案一


    先把当前节点的值用下一个节点的值覆盖了,然后我们删除下一个节点即可

    C-源代码


    void deleteNode(struct ListNode* node) {
        
        node->val = node->next->val;
        struct ListNode *temp = node->next;
        node->next = temp->next;
        
        free(temp);
    }
    
    void test_0237(void) {
        
        int arr[4] = { 4, 5, 1, 9 };
        struct ListNode *l1 = linkListCreateHead(arr, sizeof(arr) / sizeof(arr[0]));
        printNode(l1);
        
        deleteNode(l1);
        
        printNode(l1);
    }
    

    Swift实现

    func deleteNode(_ node: ListNode?) {
            
            node?.val = (node?.next?.val)!
            node?.next = node?.next?.next
        }
    

    参考Grandyang

    相关文章

      网友评论

          本文标题:0237-删除链表中的节点

          本文链接:https://www.haomeiwen.com/subject/syeqdqtx.html