首页 > 其他分享 >19. 删除链表的倒数第 N 个结点C

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

时间:2024-02-28 16:33:40浏览次数:22  
标签:head ListNode struct 19 next 链表 return 倒数第 tem

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {
    if(!head) return NULL;
    int i=0;
    struct ListNode* tem=head;
    struct ListNode* pre=NULL;
    int j=0;
    while(tem){
        j++;
        tem=tem->next;
    }
    tem=head;
    if(n>j) return head;
    if(n==j){
        head=head->next;
        free(tem);
        return head;
    }
    while(i!=j-n && tem){
        i++;
        pre=tem;
        tem=tem->next;
    }
    if(!tem) return head;
    pre->next=tem->next;
    free(tem);
    return head;
}

结果:

 

标签:head,ListNode,struct,19,next,链表,return,倒数第,tem
From: https://www.cnblogs.com/llllmz/p/18040927

相关文章

  • Vue学习笔记19--列表过滤(watch属性过滤 + computed属性过滤)
    列表过滤--监听属性过滤<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表过滤</title>......
  • IIS部署 HTTP 错误 500.19 - Internal Server Error 解决步骤 由于权限不足而无法
    配置应用程序池的身份 调整文件和文件夹权限确保应用程序池的身份有权访问网站的目录和文件在网站中进行配置1.添加2.高级3.立即查找找到所需身份名称后添加权限 至少需要读取权限,如果应用程序需要写入文件或目录,则还需要写入权限 ......
  • 【力扣】奇偶链表
    题目描述思路我想起了一位故人。。前面那道分隔链表的题,只需要把<x的条件改为位置的奇偶即可完全照搬过来,出题人偷懒了属于是。试着不抄代码重新写一遍:简单写了一下发现这道题不太适合用递归算法求解,因为结点在整个链表中的位置不太好确认,试着用双指针法写一下:classSolut......
  • Vue学习笔记19--key的原理
    react、vue中key的作用(key的原理?):虚拟DOM中key的作用:key是虚拟DOM对象的标识,当张贴中的数据发生变化时,vue会根据--新数据,生成新的虚拟DOM,随后vue进行新虚拟DOM与旧虚拟DOM的差异比较。比较规则如下:对比规则旧虚拟DOM中找到了与新虚拟DOM相同的key若虚拟DOM中内容没......
  • 2.19 Android 练习
    packagecom.zhen.accountbook;importandroid.content.Context;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.text.method.HideReturnsTransformationMethod;importandroid.text.method.PasswordTransformationMethod;importan......
  • 203. 移除链表元素C
    写了个递归/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNode*delect(structListNode*head,intx){if(!head)returnNULL;if(head->val==x){structListNode*......
  • leedcode 环形链表
    快慢指针:classSolution:defhasCycle(self,head:Optional[ListNode])->bool:#如果链表为空或者只有一个节点,肯定不存在环ifnotheadornothead.next:returnFalse#初始化慢指针和快指针slow=headf......
  • 【2024-02-19】连岳摘抄
    23:59莺初解语。最是一年春好处。微雨如酥。草色遥看近却无。休辞醉倒。花不看开人易老。莫待春回。颠倒红英间绿苔。                                                 ......
  • 【力扣】反转链表II
    题目描述思路老样子,还是先用递归试试。在基本问题中,也就是left==rigth或者left+1==right时,直接将两个元素调换顺序即可。我突然发现代码随想录里好像讲过一个用双指针法反转链表的算法。那道题是把整个链表翻转,代码如下://双指针法classSolution{public:ListN......
  • [安洵杯 2019]easy_serialize_php
    [安洵杯2019]easy_serialize_php<?php$function=@$_GET['f'];functionfilter($img){$filter_arr=array('php','flag','php5','php4','fl1g');$filter='/'.implode('|�......