首页 > 其他分享 >链表中倒数第k个数

链表中倒数第k个数

时间:2022-10-16 18:13:10浏览次数:57  
标签:head ListNode struct 个数 next 链表 倒数第 指针

定义两个指针p,q都等于head。先让指针p先走k步(让两个指针相差k),然后再让两个指针一起走,当指针p走到头的时候,指针q刚好走到倒数第k个。

#include<stdio.h>
  struct ListNode {
      int val;
     struct ListNode *next;
  };
 


struct ListNode* getKthFromEnd(struct ListNode* head, int k)
{
	struct ListNode *p=head,*q=head;
	while(p!=NULL && k>0)
	{
		p=p->next;
		k--;
	}
	while(p!=NULL)
	{
		p=p->next;
		q=q->next;
	}
	return q;
}

 

标签:head,ListNode,struct,个数,next,链表,倒数第,指针
From: https://www.cnblogs.com/dubai-1314/p/16796682.html

相关文章

  • 2、将一个数据列表写入到本地一个txt文件内
    列表如下:a=[{"name1":"123"},{"name2":"456"},{"name3":"789"},] 解题思路:打开文件循环列表,提取字典提取key,value写入文件代码如下:......
  • 【算法训练营day4】LeetCode24. 两两交换链表中的结点 LeetCode19. 删除链表的倒数第N
    【算法训练营day4】LeetCode24.两两交换链表中的结点LeetCode19.删除链表的倒数第N个结点LeetCode面试题02.07.链表相交LeetCode142.环形链表IILeetCode24.两两......
  • 142. 环形链表 II
    142.环形链表II给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪next指针再次......
  • 两个字符串的相同字串个数
     #include<iostream>#include<set>#include<climits>#include<cstring>usingnamespacestd;boolisSubString(stringsubString,stringstr){intsubL......
  • Leetcode简单题背后的数学规律 | LCP 11. 期望个数统计
    最近签到打卡,每日额外再刷两道题攒积分。遇到一个简单题LCP11.期望个数统计,挺有意思的,记录一下分析过程并重温概率学知识。题目给定n个数的数组scores,小A和小B负责......
  • abc142_d(互质共因子个数)
    寻找a和b的互质公因子:a和b的公因子小于等于gcd(a,b)然后互质等价于筛gcd内的质数(公因子是gcd的因数)复杂度O(sqrt(n))#include<bits/stdc++.h>#defineintlonglong#defin......
  • 链表(列表)
    线性结构:一对一非线性结构:一对多(树),多对多(图)链表节点:数据,指针域#include<stdio.h>#include<stdlib.h>#include<time.h>#defineCOLOR(b,a)"\033["#b"m"a"\0......
  • 力扣-148-排序链表
    采用归并排序对链表进行排序可以达到O(nlogn)的时间复杂度使用自底向上的迭代写法可以将空间复杂度从O(N)降低到O(1)但是官方的写法对我来说实在是太难以理解了,尝试了......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节
    24.两两交换链表中的节点本题是一道模拟过程的题目。搞清楚两两交换的步骤之后,写出对应的代码也就不是难题了。不过在学习题解的过程中发现,两两交换的步骤也有很多种实现......
  • 114. 二叉树展开为链表
    题目描述给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展......