`
fuerbosi
  • 浏览: 463966 次
文章分类
社区版块
存档分类
最新评论

微软等公司数据结构+算法面试100题--链表

 
阅读更多

1.(原第7题)
----------------------------------------------
微软亚院之编程判断俩个链表是否相交
给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。
为了简化问题,我们假设俩个链表均不带环。
问题扩展:
1.如果链表可能有环列?
2.如果需要求出俩个链表相交的第一个节点列?


2.(原第13题)
----------------------------------------------
题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。
链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};


3.(原第24题)
----------------------------------------------
链表操作
(1)单链表就地反向
(2)合并排好序的链表


4.(原第42题)
----------------------------------------------
请修改append函数,利用这个函数实现:
两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5
另外只能输出结果,不能修改两个链表的数据。


5.(原第58题)
----------------------------------------------
从尾到头输出链表。
题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};


6.(原第60题)
----------------------------------------------
在 O(1)时间内删除链表结点。
题目:给定链表的头指针和一个结点指针,在 O(1)时间删除该结点。链表结点的定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
函数的声明如下:
void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted);


7.(原第62题)
----------------------------------------------
找出链表的第一个公共结点。
题目:两个单向链表,找出它们的第一个公共结点。
链表的结点定义为:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
分析:这是一道微软的面试题。微软非常喜欢与链表相关的题目,
因此在微软的面试题中,链表出现的概率相当高。


8.(原第76题)
----------------------------------------------
复杂链表的复制
题目:有一个复杂链表,其结点除了有一个 m_pNext 指针指向下一个结点外,还有一个 m_pSibling 指向链
表中的任一结点或者 NULL。其结点的 C++定义如下:
struct ComplexNode
{
int m_nValue;
ComplexNode* m_pNext;
ComplexNode* m_pSibling;
};
下图是一个含有5 个结点的该类型复杂链表。
图中实线箭头表示 m_pNext 指针,虚线箭头表示 m_pSibling 指针。为简单起见,指向 NULL 的指针没有画
出。请完成函数 ComplexNode* Clone(ComplexNode* pHead),以复制一个复杂链表。
分析:在常见的数据结构上稍加变化,这是一种很新颖的面试题。
要在不到一个小时的时间里解决这种类型的题目,我们需要较快的反应能力,
对数据结构透彻的理解以及扎实的编程功底。


9.(原第77题)
----------------------------------------------
关于链表问题的面试题目如下:
1.给定单链表,检测是否有环。
2.给定两个单链表(head1, head2),检测两个链表是否有交点,如果有返回第一个交点。
3.给定单链表(head),如果有环的话请返回从头结点进入环的第一个节点。
4.只给定单链表中某个结点 p(并非最后一个结点,即 p->next!=NULL)指针,删除该结点。
5.只给定单链表中某个结点 p(非空结点),在 p 前面插入一个结点。


10.(原第78题)
----------------------------------------------
链表和数组的区别在哪里?
分析:主要在基本概念上的理解。
但是最好能考虑的全面一点,现在公司招人的竞争可能就在细节上产生,谁比较仔细,谁获胜的机会就大。


11.(原第79题(1))
----------------------------------------------
编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?


12.(原第89题(1))
----------------------------------------------
2005年11月15日华为软件研发笔试题。实现一单链表的逆转。


13.(原第90题(3))
----------------------------------------------
判断单链表中是否存在环。


14.(原第97题(2))
----------------------------------------------
微软
在链表里如何发现循环链接?


15.(原第98题(6))
----------------------------------------------
微软
怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?


分享到:
评论

相关推荐

    微软等公司数据结构+算法面试100题(含答案)

    首先我们定义的二元查找树 节点的数据结构如下: struct BSTreeNode { int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // right child of node }; 2.设计包含...

    常见:微软公司等数据结构+算法面试100题(第1-100题)全部出炉1

    2.如果需要求出俩个链表相交的第一个节点列?第8题(算法)此贴选一些 比较怪的题,,由于其中题目本身与算法关系不大,仅考考思维。特此并作一题。1.有两个房间,一

    精选微软数据结构算法面试100题

    首先我们定义的二元查找树节点的数据结构如下: struct BSTreeNode { int m_nValue; // value of node BSTreeNode *m_pLeft; // left child of node BSTreeNode *m_pRight; // right child of node }; #include #...

    各大IT公司 数据结构笔试试题

    如: 微软: 1、反转一个链表。循环算法。 ........ ...... google: 1.村子有100对夫妻,丈夫都背着妻子偷情。。。。

    二元查找树转变为双向链表C语言实现

    输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表 要求不能创建任何新的节点,只调整指针的指向 微软面试题

    数据结构算法:数据结构和算法练习库

    回购结构 数据结构 带有educative.io中存在实践问题的数据结构的实现 链表 清单 s列 堆栈 哈希图 树 图表 演算法 Leetcode-Top100 面试编码模式 亚马逊 微软 Quora

    leetcode中文版-Algorithms_Of_Interview:计算机视觉算法工程师面试中手撕代码的算法题总结

    微软、商汤、旷视、头条、阿里、腾讯、百度、海康威视、第四范式算法岗,其他公司和岗位的不在此之列。 开始先大概整理,后面会分类 数据结构类 算法类 1.x的n次方(头条) 2.链表排序(头条) 3.螺旋打印二维数组...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    leetcode中国-AlgorithmNote:田野光的算法学习笔记

    面试中手写算法题考察的其实是三个方面,『数据结构』,『编程语言』,『算法』。优秀的程序员应该具备这三方面的能力。 我希望跟随者书本题目的练习和总结,利用github新建这个项目,为自己的算法学习立一个规划。 ...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

Global site tag (gtag.js) - Google Analytics