现在的位置: 首页 > 综合 > 正文

雅虎三道面试题 答案

2018年01月19日 ⁄ 综合 ⁄ 共 766字 ⁄ 字号 评论关闭

雅虎三道面试题
34、编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf 系列
35、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
36、有双向循环链表结点定义为:
struct node
{
int data;
struct node *front,*next;
};
有两个双向循环链表 A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中

data 值相同的结点删除。


解答:

34、编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf 系列

具体已实现:http://blog.csdn.net/u012605629/article/details/40752289


35、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"

具体已实现:http://blog.csdn.net/u012605629/article/details/40795549


36、有双向循环链表结点定义为:
struct node
{
int data;
struct node *front,*next;
};
有两个双向循环链表 A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中

data 值相同的结点删除。


用两个向量A_vec、B_vec分别存储链表A、B的元素值,将A_vec、B_vec排序,
用类似归并排序的方法把A_vec、B_vec中值相同的元素放到向量common_vec中。
分别遍历链表A、B,用二分查找法查看每个节点元素是否在common_vec中。

可参考:http://blog.csdn.net/iamzhaiwei/article/details/7684751


抱歉!评论已关闭.