在一个博客中看到一个面试题。就摘录下来了。
/*
5.现已知单向链表,节点数未知,但肯定是奇数个.不能用计数的方法,实现函数并返回中间的那个节点.
*/
struct data{
struct data *next;
}
struct data *find_middle(struct data *head)
{
if(!head->next) return head;
struct data *p,*q;
p = head;
q = p->next;
while(q)
{
p++;
q = q+2;
}
return p;
}
/*
1.请修正下面的宏定义中的错
*/
#define MAX(a,b) ((a > b)?a:b)
/*
Egg的答案: */
#define MAX((a),(b)) (((a) > (b)) ? (a):(b))
阅读(572) | 评论(0) | 转发(0) |