合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
我的思路:定义一个新链表l3和p1,p2,p3分别指向l1,l2,l3三个链表,先判断l1,l2两个链表是否为空的情况,如果两个都为空,则返回l1(或l2);如果l1为空,l2非空,则直接返回l2;同理,如果l2为空,l1非空,则直接返回l1;当l1与l2都为非空时再进行下一步处理。
下一步处理:如果l1与l2还存在节点(即不为空),就将l1与l2的第一个节点判断大小,将较小的节点放进l3链表,如果l1为空了(即l1已经将全部节点都放进l3了),就将l2的节点依次放进l3;如果l2为空,同理执行。最后返回l3->next
网友评论