LeetCode-237-删除链表中的节点-C语言

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
typedef struct ListNode Node;

void deleteNode(struct ListNode* node) {
    Node *last = NULL;
    
    while(node->next){
        /* 将后一个节点的值搬到前一个节点 */
        node->val = node->next->val;
        last = node;    
        node = node->next;
    }
    
    /* 删除最后一个节点 */
    free(node);
    last->next = NULL;
    
}

猜你喜欢

转载自blog.csdn.net/weixin_36094222/article/details/90045580