米兰的小铁匠z 2019-10-05 22:44 采纳率: 25%
浏览 255

LeetCode:19题有点bug请教

LeetCode:19题
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。

示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.

当删除了倒数第二个节点后,链表变为 1->2->3->5.
说明:

给定的 n 保证是有效的。

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


struct ListNode* removeNthFromEnd(struct ListNode* head, int n){
    if(head->next == NULL) return NULL;
    struct ListNode* p = NULL;
    struct ListNode* q= NULL;
    p = head->next;
    int count = 0;
    while(p){
        count++;
        p = p->next;
    }

    p = head;
    for(int j=0;j<(count-n);j++){
        p = p->next;
    }
    q = p->next;
    p->next = q->next;
    free(q);

    return head;    
}



请问大佬们这个[1,3] 2为什么会返回1呢 删除的节点是最后一个 我用自己的VC都不会出现这个问题,不懂为什么还望有大佬可以解释一下 不胜感激

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2019-10-06 09:40
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频