昨天一朋友找工作, 碰到两道算法笔试题, 都是当于链表操作的.
原题具体的还原不过来了, 不过大致是:
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
- 浏览 2029
- 评论(3)
- 论坛回复 / 浏览 (3 / 4080)
- 查看更多
相关推荐
百度2010运维web开发两道笔试题.百度2010运维web开发两道笔试题.
计算机后端-Java-Java核心基础-第15章 面向对象07 20. 接口课后两道笔试题.avi
大连华信去年的笔试题,可以给各位即将工作的同学一些参考
高通笔试题--嵌入式C开发人员的最好的0x10道笔试题(详细解析).docx
高通笔试题--嵌入式C开发人员的最好的0x10道笔试题详细解析.docx
C++笔试题 Sony笔试题 几道题目及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 2005年腾讯招聘 微软 微软亚洲技术支持中心面试题目 微创笔试题目(微创,微软在中国的合资公司) Intel笔试面试题目 ...
5.11 百度运维web开发两道笔试题...................................................................................................................24 5.12 百度技术类笔试真题................................
129道经典.NET笔试题,中小型企业常考.NET笔试题,欢迎广大朋友下载学习,是非常基础的一些知识常考点,希望大家可以把它们背的滚瓜烂熟,因为走到哪儿找工作,先做的都是一套笔试题,而这些笔试题基本都是来自这儿!
100道程序员笔试题,并附有答案,还不错,欢迎大家下载!
机测并精心整理筛选的33道MySQL笔试题(附带答案、表结构与数据),安装数据库后导入test.sql文件即可练习
16道嵌入式笔试题16道嵌入式笔试题
这个笔试题对于新手来说绝对是好东西,请大伙放心下载
最近今年几道经典的华为笔试题,涉及C\C++,值得一看
网络工程招聘笔试题;题目是基础级别,但容易做错;参加笔试之前可以下载来看看;有几道题目答案错误,已在一篇博客中重新写出;
125道企业常见java笔试题 包含Javaweb 相关问题及答案
java笔试题大全,共120道题,汇集各大网站试题,非常经典,非常有用。
JAVA笔试题大全共120道题+SSH框架
HCIE笔试题库,含PDF文档和VCE刷题软件
里面包含常用常考的程序,这都是笔试遇到的题,可以看看。
java笔试题,编程开发动手是王道。先做题后看答案更有效哦