心得:链表问题加头指针,头指针要加一个引用(两个引用:一个用来遍历,另一个输出头节点,注意head.next)
输出完要将后面没有添加上的节点添加上。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1==null) return l2; if(l2==null) return l1; ListNode head=new ListNode(-1); ListNode tmp=head; while(l1!=null&&l2!=null) { if(l1.val<=l2.val) { tmp.next=l1; tmp=tmp.next; l1=l1.next; } else { tmp.next=l2; tmp=tmp.next; l2=l2.next; } } while(l1!=null) ///将剩余的添加上 { tmp.next=l1; tmp=tmp.next; l1=l1.next; } while(l2!=null) ////将剩余的添加上 { tmp.next=l2; tmp=tmp.next; l2=l2.next; } return head.next; } }
代码:
原文地址:https://www.cnblogs.com/pc-m/p/10877707.html
时间: 2024-10-08 01:44:59