题目描述
原题链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
解题思路
K神题解:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/solution/
怎么说呢,一开始我是想以单链表 l1 为基准,把 l2 往 l1 里边插,但感觉有点力不从心!
看了题解,卧槽,原来还可以再创建个头节点,然后把 l1 和 l2 往里面插呀!还是太年轻了!
并且,创建一个新的头节点可以用 new 的方式去创建!一开始怎么也想不到,干!Java 中的节点也是一个类呀!
7.12 题目做错的教训:你可以用第三个链表去接其它两个链表,但你得记得用临时的节点去接!你如果直接用第三个链表的头节点直接去接,到最后你也只能返回第三个链表的最后一个节点!切记!
class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode res = new ListNode(0);ListNode tmp = res;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;}}if(l1 == null) {tmp.next = l2;}else {tmp.next = l1;}return res.next;}}
