【剑指offer】之合并两有序单链表

来源:互联网 发布:share软件 编辑:程序博客网 时间:2024/06/05 05:11

题目描述:

     输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
(hint: 请务必使用链表。)


分析:

      剑指offer上使用的是递归的算法,自己写了一个非递归的。


java代码实现:

     

private static LinkedList mergeList(LinkedList list1, LinkedList list2) {LinkedList list = new LinkedList();Node pHead1 = list1.getHeader().next;Node pHead2 = list2.getHeader().next;while(pHead1.next!=null && pHead2.next!=null) {if(pHead1.data < pHead2.data) {list.addTail(pHead1);pHead1 = pHead1.next;} else {list.addTail(pHead2);pHead2 = pHead2.next;}}while(pHead1!=null) {list.addTail(pHead1);pHead1 = pHead1.next;}while(pHead2!=null) {list.addTail(pHead2);pHead2 = pHead2.next;}return list;}

0 0
原创粉丝点击