news 2026/7/28 18:00:37

剑指Offer_编程题(C#实现)_ 链表中倒数第k个结点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
剑指Offer_编程题(C#实现)_ 链表中倒数第k个结点

题目:链表中倒数第k个结点

题目描述

输入一个链表,输出该链表中倒数第k个结点。

解题思路

解法1

遍历链表,得到链表的长度n,由于单向链表无法从链表尾端回溯,所以需要从头节点开始往后走n-k+1步,就能找到倒数第k个链表了。

解法2

解法1需要两遍历,怎么在遍历一次的前提下就能求得链表的倒数第k个结点呢?可以设置两个指针,p和q,并且都将其初始值置为头:p = q = pListHead;

然后让p先走k-1步,那么就到了正数第k个结点,然后这时候让p和q同时走,直到p的下一个结点为空,由于两个指针的距离始终保持在k-1,所以当第一个指针到达链表尾节点时,第二个指针正好走到倒数第k个节点。

参考代码

解法1

/* public class ListNode { public int val; public ListNode next; public ListNode (int x) { val = x; } }*/ class Solution { public ListNode FindKthToTail(ListNode head, int k) { // write code here int count = 0; ListNode p = head; if(head == null) return null; while(p != null) { count++; p=p.next; } if(count-k < 0) return null; p=head; for(int i=0; i<count-k; i++) p=p.next; return p; } }

解法2

/* public class ListNode { public int val; public ListNode next; public ListNode (int x) { val = x; } }*/ class Solution { public ListNode FindKthToTail(ListNode head, int k) { // write code here ListNode pAhead = head; ListNode pBhead = head; if(head==null||k<=0) //判断头节点为空,或者k<=0情况 return null; for(int i=0;i<k-1;i++){ if(pAhead.next==null){ //防止K的值大于head.next的范围 节点3个,k为8; return null; } pAhead = pAhead.next; } while(pAhead.next!=null){ pAhead = pAhead.next; pBhead = pBhead.next; } return pBhead; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 17:59:12

地铁轨道交通无线动能照明方案,站台附属照明无线化改造详解

一、系统概述地铁站、车辆段内部电缆、通信线路密集&#xff0c;强电弱电管线层层排布&#xff0c;新增开关控制线施工难度大&#xff0c;极易干扰地铁通信、行车信号。无线动能开关控制系统全部采用无布线自发电开关&#xff0c;在地铁出入口、检修廊道、设备机房、员工休息室…

作者头像 李华
网站建设 2026/7/28 17:58:37

pacemaker控制haproxy容器

三台centos7.6 192.168.1.1192.168.1.2192.168.1.3三台机器执行&#xff1a;yum install -y corosync pacemaker pcs systemctl start pcsd && systemctl enable pcsd && systemctl status pcsd echo "PCSD_PORT18888" >> /etc/sysconfig/pcsd…

作者头像 李华
网站建设 2026/7/28 17:55:17

JAVA毕设选题推荐:基于SpringBoot+Vue的校园流浪动物报备救助与养护管理平台 大学生流浪动物公益救助服务系统设计【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/28 17:54:27

【JAVA课程设计/毕业设计】基于 SpringBoot+Vue 的前后端分离架构下高校学习竞赛成果管理系统 高校学生赛事成果溯源、管理与线上展示平台【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/7/28 17:52:50

餐饮CPS平台开发公司排名,多级佣金自动结算源码讲解

餐饮CPS平台开发公司排名&#xff0c;多级佣金自动结算源码讲解餐饮CPS平台的核心商业竞争力&#xff0c;除了商家资源对接、用户引流转化能力外&#xff0c;稳定、精准、自动化的多级佣金结算体系是评判平台成熟度的核心标准&#xff0c;也是区分各大开发公司技术实力的关键维…

作者头像 李华
网站建设 2026/7/28 17:51:17

物联网设备硬件级安全方案:SE050与MK64FX512VDC12协同设计

1. 为什么物联网设备需要硬件级安全方案在智能家居、工业4.0等场景中&#xff0c;我们经常看到这样的安全隐患&#xff1a;某品牌摄像头被曝存在默认密码漏洞&#xff0c;黑客可远程操控设备&#xff1b;某工厂传感器遭恶意固件篡改&#xff0c;导致生产线异常停机。这些案例暴…

作者头像 李华