题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
解题思路
1,如果list1和list2都不为空,那么比较大小插入新链表
2,其中一个为空以后,把剩下的一个直接挂到已排序列表后边
代码实现
/** * */ package 链表; /** * <p> * Title:Merge * </p> * <p> * Description: * </p> * * @author 田茂林 * @data 2017年8月22日 下午3:20:21 */ public class Merge { public ListNode NodeMerge(ListNode list1, ListNode list2) { if (list1 == null && list2 == null) { return null; } if (list1 == null) { return list2; } if (list2 == null) { return list1; } ListNode list3 = new ListNode(-1); ListNode cur = list3; ListNode p = list1; ListNode q = list2; while (p != null && q != null) { if (p.val <= q.val) { cur.next = p; cur = cur.next; p = p.next; } else { cur.next = q; cur = cur.next; q = q.next; } } if (p == null) { cur.next = q; } if (q == null) { cur.next = p; } return list3.next; } }