题解 | #删除链表的倒数第n个节点#

删除链表的倒数第n个节点

https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6

 #include <stdlib.h>
int countList(struct ListNode* head)
 {
    int cnt = 0;
    while(head)
    {
        head= head->next;
        cnt++;
    }
    return cnt;
 }
struct ListNode* removeNthFromEnd(struct ListNode* head, int n ) {
    // write code here
    struct ListNode* tmp = NULL;
    struct ListNode* tmp_pre = NULL;
    int cnt = countList(head);
    int index = cnt -n;
    tmp = tmp_pre = head;
    while (index--) {
        tmp_pre=tmp;
        tmp=tmp->next;
    }
    if(head==tmp)
    {
        head = tmp->next;
    }
    else {
        tmp_pre->next = tmp->next;
        free(tmp);
    }

    return head;
}

全部评论

相关推荐

不对是145个人…嗯…&nbsp;大家都没发现秋招提前批来了嘛..笑死我了
牛客39712426...:投了也是浪费时间,之前投米实习,除了浪费我时间写笔试题没有任何反馈,懒得投了
26届校招投递进展
点赞 评论 收藏
分享
Lorn的意义:1.你这根本就不会写简历呀,了解太少了 2.你这些项目经历感觉真的没啥亮点啊,描述的不行,重写书写一下让人看到核心,就继续海投 注意七八月份ofer还是比较多的,越往后机会越少,抓住时机,抓紧检查疏漏,加油查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务