日复一日

厚积薄发|跳跃的人生

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  25 随笔 :: 2 文章 :: 6 评论 :: 0 Trackbacks

两个链表,一升一降。合并为一个升序链表。

 1 List merge(List a, List d) {
 2     List a1 = reverse(d);
 3     List p  =  q  =   new  List();
 4      while  ( a  &&  a1 )  {
 5          if (a.value < a1.value) {
 6             p.next = a;
 7             a = a.next;
 8         }
  else   {
 9             p.next = a1;
10             a1 = a1.next;
11         }

12         p = p.next;
13     }

14      if (a) p.next  =  a;
15     elseif(a1) p.next = a1;
16      return  q.next;
17 }


不知道这道题朋友们有什么更好的方法?
posted on 2006-06-16 20:48 GwQ 阅读(201) 评论(0)  编辑 收藏 引用 所属分类: 微软面试技术题
只有注册用户登录后才能发表评论。