首页 > 解决方案 > 缺少链表的测试用例

问题描述

我正在编写一个函数来从 codefights 中的链表中删除一个给定的数字。我正在通过 7 个测试用例中的 6 个,但是,第 7 个是隐藏的,所以我看不到我做错了什么。谁能看到我缺少此功能的测试用例?

// Definition for singly-linked list:
// template<typename T>
// struct ListNode {
//   ListNode(const T &v) : value(v), next(nullptr) {}
//   T value;
//   ListNode *next;
// };
#include <stdio.h> 
ListNode<int> * removeKFromList(ListNode<int> * l, int k) {
    ListNode<int> *cur = l;
    ListNode<int> *temp = l;
    while (cur != NULL) {
        if (cur->value == k) {
            if (cur == l) {
                ListNode<int> *del;
                del = cur;
                cur = cur->next;
                l = l->next;
                temp = temp->next;
                delete del;
            } else {
                ListNode<int> *del = cur;
                cur = cur->next;
                temp->next = cur;
                delete del;
            }
        } else {
            temp = cur;
            cur = cur->next;
        }
    } 
    return l;

}

标签: c++linked-list

解决方案


推荐阅读