昨天一朋友找工作, 碰到两道算法笔试题, 都是当于链表操作的.
原题具体的还原不过来了, 不过大致是:
1. 有一单链表, 找出最后第m个节点.
昨天看到问题时,想到了小学应用题:
汽车过山洞, 假如这个汽车开着开着, 等到车头刚要出山洞, 车尾离山洞出口也有一段距离嘛...
这样, 这个题方法出来了
cpp 代码
- Node* FindLastNode(Node* root, int m) {
- Node* head = root;
- Node* tail = root;
-
-
-
-
-
-
- for (int i = 0; i < m; ++i) {
- head = head->next;
- }
-
-
-
-
-
-
- while (head->next) {
- head = head->next;
- tail = tail->next;
- }
-
-
-
-
-
- return tail;
- }
当然,特殊情况要考虑, 不过那....
2. 有一单链表, 判断是否存在环
有环? 走着走着, 却突然发现, 怎么也走不完, 可是这要走到什么时候? 此法不通
可是怎么也想不出好办法. 只有一个笨方法:
看看现在走的路, 是不是已走过...
cpp 代码
- bool HasCircle(Node* root) {
- Node* cur = root;
- while (cur->next) {
-
- for (Node* other = root; other->next != cur; other = other->next) {
- if (cur->next == other) {
- return true;
- }
- }
- cur = cur->next;
- }
- return false;
- }
对于2, 不知道有没有更好的办法?
分享到:
- 2007-08-14 21:40
- 浏览 2062
- 评论(3)
- 论坛回复 / 浏览 (3 / 4152)
- 查看更多
相关推荐
标题中的“百度2010运维web开发两道笔试题”指的是百度公司在2010年针对运维Web开发岗位设计的笔试题目。这样的题目通常旨在评估应聘者的逻辑推理能力和编程能力,是技术面试的重要组成部分。 第一道题是一道逻辑...
计算机后端-Java-Java核心基础-第15章 面向对象07 20. 接口课后两道笔试题.avi
大连华信去年的笔试题,可以给各位即将工作的同学一些参考
阿里巴巴的校招软件笔试题涵盖了数据结构、...以上就是两道笔试题涉及的主要知识点,以及针对搜索系统测试的一般方法。在实际的面试和笔试中,这些问题不仅测试编程基础,还考察了应聘者对实际问题的分析和解决能力。
"高通笔试题--嵌入式C开发人员的最好的0x10道笔试题详细解析" 本节知识点详细解析高通笔试题中的10道笔试题,涵盖嵌入式C开发人员所需的各种知识点,包括volatile关键字、类型转换、递归调用、指针、多维数组、逗号...
129道经典.NET笔试题,中小型企业常考.NET笔试题,欢迎广大朋友下载学习,是非常基础的一些知识常考点,希望大家可以把它们背的滚瓜烂熟,因为走到哪儿找工作,先做的都是一套笔试题,而这些笔试题基本都是来自这儿!
Linux 操作系统常见笔试题知识点总结 本文总结了 Linux 操作系统常见的笔试题,涵盖了 Linux 基础知识、文件系统管理、用户管理、权限管理、进程管理、系统安全等方面的知识点。 Linux 基础知识 1. cron 是一个...
这份"100道程序员笔试题"集合涵盖了多种编程语言、数据结构、算法、操作系统、网络、数据库等多个领域的核心知识点,是提升技术能力的好资料。下面我们将详细探讨这些题目所涉及的关键知识。 1. **编程语言基础**:...
网络工程招聘笔试题;题目是基础级别,但容易做错;参加笔试之前可以下载来看看;有几道题目答案错误,已在一篇博客中重新写出;
C++笔试题笔记 本资源摘要信息将详细解释C++笔试题中的知识点,涵盖选择题、填空题、简答题和编程题四个部分。 一.选择题 1. 计算机科学中,函数func(x)的返回值是多少?这个问题考察了位操作的知识。函数func...
本资料"Java笔试题汇总(125道企业常见java笔试题)"包含了125个企业在招聘过程中可能会遇到的Java相关问题及其答案,涵盖了Java基础、Javaweb等多个方面,旨在帮助求职者全面了解并准备Java面试。 Java基础部分...
在C/C++编程领域,笔试题常常用于评估应聘者的编程基础、问题解决能力和逻辑思维能力。下面我们将深入探讨这些题目中可能涉及的关键知识点,并通过分析`test01`这个文件名,推测它可能涵盖的内容。 1. **基本语法**...
这份资料包含了33道精心挑选的MySQL笔试题,旨在帮助用户深入理解MySQL的核心概念、语法以及实际操作。以下是基于这些资源可能涵盖的一些关键知识点: 1. **基本SQL语句**:包括SELECT查询,用于从数据库中提取数据...
本资源提供了 Java 程序员笔试题,共 10 道单项选择题和 2 道多项选择题,涵盖了 Java 基础知识、编程技术、数据类型、运算符、控制流程、方法和类等方面的知识点。 1. Java 程序编译后会产生 byte code,而不是 ...
【百度笔试题】中的知识点主要涉及三个方面:编程题、算法题和系统设计。下面将分别对这三个方面进行详细的解析。 1. **编程题** 这道编程题要求编写一个函数`is_include(char *a, char *b)`,判断字符串`b`的所有...
这篇文档《2011 SQL笔试题》及其压缩包资源,显然是为了帮助学习者或者应聘者准备SQL相关的面试或笔试而准备的。 SQL的基础知识点包括: 1. **数据类型**:SQL支持多种数据类型,如整数(INT)、浮点数(FLOAT)、...
操作系统笔试题及答案 操作系统笔试题及答案是计算机科学中的一门重要课程,对于考研和笔试面试的考生来说尤其重要。以下是操作系统笔试题及答案的详细解释: 1. 在下列系统中,( )是实时系统。 answer:B航空定...
Java作为一门广泛使用的编程语言,其笔试题涵盖了基础语法、数据结构、算法、多线程、网络编程、设计模式等多个方面。本资料集合了大量Java笔试题,旨在帮助求职者全面复习并准备Java相关的笔试环节,同时包含了各大...
HCIE笔试题库,含PDF文档和VCE刷题软件