微软面试题:反序一个单向链表
2012-03-23 21:58 Rollen Holt 阅读(1069) 评论(0) 编辑 收藏 举报反序一个单向链表
class Node { Node* next; } // Return the new start after reversion. Node* ReverseList (Node* start) { }
#include <stdio.h> typedef struct snode{ char data; struct snode *next;}node; node *reserve(node *head){ node *p,*q,*r; p=head; q=p->next; while(q!=null){ r=q->next; q->next=p; p=q; q=r;} head->next=null; head=p; return head; }
这个题目有变种:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
==============================================================================
本博客已经废弃,不在维护。新博客地址:http://wenchao.ren
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员
==============================================================================