牛客热题:链表中的倒数最后K个节点

ops/2024/11/23 12:45:42/

📟作者主页:慢热的陕西人

🌴专栏链接:力扣刷题日记

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言

在这里插入图片描述

文章目录

  • 牛客热题:链表中的倒数最后K个节点
    • 题目链接
    • 方法一:两次遍历
      • 思路
      • 代码
      • 复杂度
    • 方法二:双指针
      • 思路
      • 代码
      • 复杂度

牛客热题:链表中的倒数最后K个节点

题目链接

链表中倒数最后k个结点_牛客题霸_牛客网 (nowcoder.com)

方法一:两次遍历

思路

  • 第一次遍历,获取链表的长度
  • 第二次遍历,在题目给定的位置返回对应的链表指针

代码

    ListNode* FindKthToTail(ListNode* pHead, int k) {ListNode* cur = pHead;int res = 0;//第一次遍历获取对应的链表的长度while(cur != nullptr){cur = cur->next;res++;} //若是对应的长度小于k那么直接返回一个空链表if(k > res) return nullptr; //否则的话去遍历寻找对应的倒数第k个节点cur = pHead;res = res - k;while(cur != nullptr){if(res == 0) return cur;res--;cur = cur->next;}return nullptr;}

复杂度

  • 时间复杂度:O(N), 遍历了两次单链表
  • 空间复杂度:O(1), 只使用了常数个变量。

方法二:双指针

思路

  • 两个指针l,r
  • r指针先优先l指针k步
  • 同时向后移动l和r指针,当r指针指向链表尾部的时候则l指向的就是倒数第k个节点指针

代码

    ListNode* FindKthToTail(ListNode* pHead, int k) {ListNode* l = pHead;ListNode* r = pHead;//先将快指针移动k个位置for(int i = 0; i < k; ++i) {if(r == nullptr) return nullptr;r = r->next;}while(r != nullptr){l = l->next;r = r->next;}return l;}

复杂度

  • 时间复杂度:O(N),遍历一次链表
  • 空间复杂度:O(1),常数个变量

http://www.ppmy.cn/ops/32464.html

相关文章

【计算机网络】循环冗余校验:Cyclic Redundancy Check

1. 任务目标 利用循环冗余校验&#xff08;CRC&#xff09;检测错误。 循环冗余校验&#xff08;英语&#xff1a;Cyclic redundancy check&#xff0c;通称 CRC&#xff09;是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数&#xff0c;主要用来…

【重难点算法题】设计哈希集合、哈希映射

文章目录 Tag题目来源解题思路方法一&#xff1a;链地址法 类似题目代码1代码2 写在最后 Tag 【哈希集合】【哈希映射】【链地址法】【数据结构设计】 题目来源 705. 设计哈希集合 解题思路 在解题之前需要先明确两组概念&#xff1a; 哈希表与散列表哈希函数与散列函数 上…

STM32G474 CMAKE VSCODE 开发环境搭建

本篇博文尝试搭建 stm32g474 的开发环境 一. 工具安装 1. 关于 MinGW、OpenOCD、Zadig 这些工具的下载和安装见 JlinkOpenOCDSTM32 Vscode 下载和调试环境搭建_vscode openocd stm32 jlink-CSDN博客 2. 导出一个 STM32 的 CMAKE 工程&#xff0c;这里略过。 3. 安装 ninja …

CSS中的Float(浮动):深入解析与运用技巧

在网页设计领域&#xff0c;CSS的float属性是一个核心概念&#xff0c;它控制着元素在页面布局中的位置&#xff0c;尤其是在构建多栏布局、图像环绕文字等场景中扮演着至关重要的角色。本文将深入探讨float的工作原理&#xff0c;解析其背后的机制&#xff0c;并通过丰富的代码…

Django Admin报错“外键冲突”排查

问题&#xff1a;在后台管理界面添加条目时&#xff0c;报外键冲突导致添加失败。 django.db.utils.IntegrityError: (1452, Cannot add or update a child row: a foreign key constraint fails (blog.django_admin_log, CONSTRAINT django_admin_log_user_id_c564eba6_fk_au…

Mybatis Interview Question Summary

1. In best practice, usually an Xml mapping file will write a Dao interface corresponding to it. What is the working principle of the Dao interface? Can the methods in the Dao interface be overloaded when the parameters are different? Answer: The Dao in…

VMware虚拟机中ubuntu使用记录(5)—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、ROS下USB相机驱动1.准备工作(1) 下载驱动(2) 创建ROS工作空间 2. 安装usb_cam驱动(1) 安装usb_cam驱动包(2) 编译代码 3. 修改usb_cam驱动的配置文件(1) 查看US…

从MySQL+MyCAT架构升级为分布式数据库,百丽应用OceanBase 4.2的感受分享

本文来自OceanBase的客户&#xff0c;百丽时尚的使用和测试分享 业务背景 百丽时尚集团&#xff0c;作为国内大型时尚鞋服集团&#xff0c;在中国超过300个城市设有直营门店&#xff0c;数量超过9,000家。集团构建了以消费者需求为核心的垂直一体化业务模式&#xff0c;涵盖了…