Chinaunix首页 | 论坛 | 博客
  • 博客访问: 904807
  • 博文数量: 73
  • 博客积分: 2689
  • 博客等级: 少校
  • 技术积分: 897
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-07 19:39
个人简介

一个有目标,为自己的未来努力奋斗的人

文章分类
文章存档

2015年(9)

2014年(2)

2013年(6)

2012年(11)

2011年(33)

2010年(12)

分类: C/C++

2011-09-20 00:17:34

在2012年的校园招聘中,发现有很多家公司在招聘的笔试或面试题中都会出这样的一个题。没有准备的童鞋们在刚遇到这样的一个题时,可能会有些抓狂,但是不要着急,其实是很简单的,不信,就看下面的代码吧...

题目:写一个单链表逆序的函数。

函数如下:

  1. struct list {

  2.     struct list *next;
  3.     int a;
  4. };

  5. typedef struct list *plist;

  6. plist reverse(plist p) {

  7.     plist p1, p2, p3;

  8.     p1 = NULL;
  9.     p2 = NULL;
  10.     p3 = p;

  11.     while (p3 != NULL) {
  12.     
  13.         p2 = p3;
  14.         p3 = p3->next;
  15.         p2->next = p1;
  16.         p1 = p2;
  17.     }

  18.     return p2;
  19. }
这里只是本着共享的意愿,将代理展示于此的。如有哪位大牛有更好的算法,希望能在这里共享之,以待共同进步...代码中若有不足之处,也热烈欢迎各位大牛批评指正!!!

阅读(1094) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~