0237-删除链表中的节点

2019-01-12  本文已影响0人  liyoucheng2014

删除链表中的节点

方案一


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

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

上一篇下一篇

猜你喜欢

热点阅读