两个链表,一升一降。合并为一个升序链表。
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
}
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
} 不知道这道题朋友们有什么更好的方法?

浙公网安备 33010602011771号