LeetCode C++刷题总结

1 NULL 似乎比 nullptr 更快

19. 删除链表的倒数第N个节点

class Solution {
public:
    ListNode *removeNthFromEnd(ListNode *head, int n) {
        if (head == NULL || n <= 0) {
            return NULL;
        }
        ListNode fakeHead(0);
        fakeHead.next = head;
        head          = &fakeHead;

        ListNode *p1, *p2;
        p1 = p2 = head;
        
        while(n--)
            p2 = p2->next;
        while (p2->next != NULL) {
            p2 = p2->next;
            p1 = p1->next;
        }

        p1->next = p1->next->next;

        return head->next;
    }
};

同样的代码,将上面所有的 NULL 替换为 nullptr 后,多次执行发现,执行用时明显慢了很多。

你可能感兴趣的:(C/C++,LeetCode)