剑指offer的题,自测都能通过,提交时牛客提示段错误

剑指off中的这2个题目:
1.反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
2.链表中的倒数第k个节点
https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking  
我反转链表的代码如下:

ListNode* ReverseList(ListNode* pHead) {
    stack s;
    while (pHead) {
        s.push(pHead);
        pHead = pHead->next;
    }
    ListNode* newHead = s.top();
    s.pop();
    ListNode* p = newHead;
    while (!s.empty()) {
        p->next = s.top();
        s.pop();
        p = p->next;
    }
    p->next = NULL;
    return newHead;
}
倒数第k的节点的解法如下:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
    if (pListHead == NULL)
        return NULL;
    stack s;
    while (pListHead != NULL) {
        s.push(pListHead);
        pListHead = pListHead->next;
    }
    for (size_t i = 0;i < k - 1;++i) {
        s.pop();
    }
    return s.top();
}
我在VS中的测试代码如下:
int main() {
    ListNode *p1 = new ListNode(1);
    ListNode *p2 = new ListNode(2);
    ListNode *p3 = new ListNode(3);
    ListNode *p4 = new ListNode(4);
    p1->next = p2;
    p2->next = p3;
    p3->next = p4;
    p4->next = NULL;

//
    //ListNode *ret = FindKthToTail(p1, 2); //输出3
    //cout << ret->val << endl;


    ListNode *ret = ReverseList(p1);
    while (ret) {
        cout << ret->val << " ";
        ret = ret->next;
    }
    cout << endl;//输出 4 3 2 1
    return 0;
}
为什么在牛客中提交就提示:
您的代码已保存
段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
case通过率为0.00%
全部评论
第一题那个newhead直接赋值top有待考虑栈空不空
点赞 回复 分享
发布于 2019-01-09 23:37
第二题,可能本身炼表长度不够k。你对栈的pop,首先要确定栈不为空才能操作
点赞 回复 分享
发布于 2019-01-09 23:38
只看了反转链表,空链表就通不过了。后面的top K肯定也是有问题的。自测用例考虑不全所以才会这样。
点赞 回复 分享
发布于 2019-01-10 00:09
“stack s”?不用声明类型的吗?
点赞 回复 分享
发布于 2019-01-10 00:50
你好,请问在哪可以看剑指offer的题目
点赞 回复 分享
发布于 2019-04-01 14:54

相关推荐

10-17 17:14
门头沟学院 C++
牛客410039819号:北京地区大多是919和927,这两场挂太多人了
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
443603次浏览 4524人参与
# 春招别灰心,我们一人来一句鼓励 #
42308次浏览 539人参与
# 北方华创开奖 #
107484次浏览 600人参与
# 地方国企笔面经互助 #
7975次浏览 18人参与
# 同bg的你秋招战况如何? #
77334次浏览 569人参与
# 实习必须要去大厂吗? #
55824次浏览 961人参与
# 阿里云管培生offer #
120493次浏览 2222人参与
# 虾皮求职进展汇总 #
116484次浏览 887人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11711次浏览 292人参与
# 实习,投递多份简历没人回复怎么办 #
2455078次浏览 34862人参与
# 提前批简历挂麻了怎么办 #
149970次浏览 1979人参与
# 在找工作求抱抱 #
906139次浏览 9423人参与
# 如果公司给你放一天假,你会怎么度过? #
4764次浏览 55人参与
# 你投递的公司有几家约面了? #
33209次浏览 188人参与
# 投递实习岗位前的准备 #
1196082次浏览 18551人参与
# 机械人春招想让哪家公司来捞你? #
157650次浏览 2267人参与
# 双非本科求职如何逆袭 #
662415次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12811次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35944次浏览 384人参与
# 简历中的项目经历要怎么写? #
86956次浏览 1517人参与
# 参加完秋招的机械人,还参加春招吗? #
20156次浏览 240人参与
# 我的上岸简历长这样 #
452084次浏览 8089人参与
牛客网
牛客企业服务