合并两个排序好的链表

it2023-10-15  63

将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的。

下面展示一些 内联代码片。

// A code block /** * 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) { ListNode l3=new ListNode(0); ListNode l4=l3; while (l1!=null&&l2!=null) { if(l1.val<l2.val) { ListNode temp=new ListNode(0); temp.val=l1.val; l3.next=temp; l3=l3.next; l1=l1.next; } if(l1!=null&&l2!=null&&l1.val>=l2.val) { ListNode temp=new ListNode(0); temp.val=l2.val; l3.next=temp; l3=l3.next; l2=l2.next; } } while (l1!=null) { ListNode temp=new ListNode(0); temp.val=l1.val; l3.next=temp; l3=l3.next; l1=l1.next; } while (l2!=null) { ListNode temp=new ListNode(0); temp.val=l2.val; l3.next=temp; l3=l3.next; l2=l2.next; } l1=l4; return l1.next; } }

有关链表问题,要注意当前链表为null时,读取它的val是会报错的 可以像这样每次新建一个链表节点来插入

最新回复(0)