合并有序链表
合并两个升序链表,要点在于:边界条件判断,即链表可能为空。
剩下的就是依次比较两个链表的头结点,把更小的节点放到新链表中去,继续遍历。算法实现如下:
Node * mergeOrderedLinkedListRecursive(Node *head1, Node *head2){ //边界条件判断 if(null == head1) return head2; if(null == head2) return head1; Node *head = null; if(head1->value < head2->value) { head = head1; head->next = mergeOrderedLinkedListRecursive(head1->next, head2); } else { head = head2; head->next = mergeOrderedLinkedListRecursive(head1, head2->next); } return head;}