链表笔试题汇编(二)

题目:输入一个链表输出其倒数第k个结点。

参考代码:

LinkList *FindktoTail(LinkList *pHead,unsigned int k)
{
	LinkList *L1=pHead;
	LinkList *L2=NULL;
	unsigned int i=0;
	if(pHead==NULL || k==0 )
	{
		return NULL;
	}
	for(i=0 ; i<k-1; i++)
	{
		if(L1->next!=NULL)
		{
		    L1=L1->next;
		}
		else
		{
			return NULL;
		}
	}
	L2=pHead;
	while(L1->next!=NULL)
	{
		L1=L1->next;
		L2=L2->next;
	}
	return L2;
}
时间: 2024-08-25 14:57:48

链表笔试题汇编(二)的相关文章

链表笔试题汇编(四)

题目:合并两个有序链表. 递归实现参考代码: LinkList *Merge(LinkList *pHead1,LinkList *pHead2) { if(pHead1==NULL) { return pHead2; } else if(pHead2==NULL) { return pHead1; } LinkList *pNewMergeHead=NULL; if((pHead1->data) < (pHead2->data)) { pNewMergeHead=pHead1; pNe

链表笔试题汇编(一)

题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 分析:删除结点可以从链表的头结点开始顺序遍历,发现某个结点的next指向要删除的结点时,将该结点的next指向要删除的下一个结点.但是基于这种思路,得到的时间复杂度是O(n). 删除结点只是让这个结点不出现在该链表中,可以采取覆盖的方式.也就是将下一个结点的内容复制到需要删除的结点上覆盖掉原有的内容.这样的话,就可以达到要求了. NOTE:若要删除的结点为尾节点,我们仍要从头遍历该链表.     若只有一个结点时,

阿里巴巴2017实习生笔试题(二)

1 下面哪一个不是动态链接库的优点? 正确答案: B   你的答案: B (正确) 共享 装载速度快 开发模式好 减少页面交换 解析: 1 静态链接库的优点 (1) 代码装载速度快,执行速度略比动态链接库快: (2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题. 2 动态链接库的优点  (1) 更加节省内存并减少页面交换: (2) DLL文件与EXE文件独立,只要输出接口不变(即名称.参数

php常规笔试题(二)

1.如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到? Gethostbyname() echo $_SERVER ["PHP_SELF"];echo $_SERVER ["SERVER_ADDR"]; 2. 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数 $begin=strtotime("2007-2-5″);$end=strtotime("2007-3-6″);echo ($end-$begin)

【C语言】【面试题】【笔试题】二维数组中的查找,杨氏矩阵

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <math.h> #include<windows.h> int find(int arr[], int rows, int columns, int num) {     int find = 0;     if (arr != NULL && rows > 0 &

2017头条笔试题:二维点集中找出右上角没有点的点并按x坐标从小到大打印坐标

PS:这篇是之前本来就想发的但是一直没时间写,加上今天做了京东的题,结果代码名就命名为jingdong了--懒得改代码名重新跑一遍结果了=.= 暴力法去做就是遍历每个点,判断它是不是"最大点".判断过程则是又遍历一遍,看看是否存在其他点在它右上方,若存在则不是最大点.O(N^2) 但是这样就会有很多不必要的计算,举个例子(这里暂且当坐标都是int),若存在一个最大点(x0,y0),那么所有在它左下角的点都不用考虑了. 另外,对于(x0,y0),只需要查找在它右边(x>x0)的点是

乐视2017暑期实习生笔试题(二)

第二题: 传送门 [编程题] 困兽之斗 经过深思熟虑之后,小贱君打算去M国闯一闯,那是一个古老的东方国度,传说有很多高阶魔法师,他想成为一名伟大的魔法师,将来征服星辰大海.经过千辛万苦,小贱君终于来到了M国,不幸的是刚进城门小贱君就被M国的守城士兵困在了一种叫做“困兽之斗”的阵法之中.士兵对小贱君说:“看到漂浮在你身边的宝石了吗?彩虹连接的两颗宝石可以任意交换位置,你需要通过一系列交换后使得宝石组成的字符串的字典序最小.若不能破阵,那还是请回吧!”小贱君观察了一下周围的宝石,只见每颗宝石上标有一

C笔试题(二)

/* 现在有一个数组 我们可以定义数组的子数组 如 数组 1 3 4 2 5 8 7 它的子数组可以是 1 3 4 3 4 2 5 等等 请写一个算法 找一个子数组 这个子数组递增不减少 并且是满足递增不减的最长子数组 */ #include <iostream> #include <cstdlib> #include <ctime> using namespace std; template<typename T> void init(T array[],

web前端笔试题(二)

1.页面导入样式时,使用link,@import,有什么区别? Link 属于 html 标签,而@import 是 CSS 中提供的在页面加载的时候,link 会同时被加载,而@import 引用的 CSS 会在页面加载完成后才会加载引用的 CSS@import 只有在 ie5 以上才可以被识别,而 link 是 html 标签,不存在浏览器兼容性问题 Link 引入样式的权重大于@import 的引用 请介绍下css中针ie6-9对,常用的hack方法 background-color:re