课题网站建设培训简讯,wordpress来建站,广州十大纯设计公司,网站平台推广方案将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例#xff1a;
输入#xff1a;1-2-4, 1-3-4
输出#xff1a;1-1-2-3-4-4/*** Definition for singly-linked list.* public cla…将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例
输入1-2-4, 1-3-4
输出1-1-2-3-4-4/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/// 方法一递归方式public static ListNode mergeTwoLists1(ListNode l1, ListNode l2) {ListNode result null;if (l1 null) {return l2;}if (l2 null) {return l1;}if (l1.val l2.val) {result l1;result.next mergeTwoLists1(l1.next, l2); // 递归} else {result l2;result.next mergeTwoLists1(l1, l2.next);}return result;}// 方法二非递归方式public static ListNode mergeTwoLists2(ListNode l1, ListNode l2) {if (l1 null) {return l2;}if (l2 null) {return l1;}ListNode mergeNode null;if (l1.val l2.val) {mergeNode l1;l1 l1.next;} else {mergeNode l2;l2 l2.next;}ListNode temp mergeNode;while (l1 ! null l2 ! null) {if (l1.val l2.val) {temp.next l1;l1 l1.next;} else {temp.next l2;l2 l2.next;}temp temp.next;}if (l1 ! null) {temp.next l1;}if (l2 ! null) {temp.next l2;}return mergeNode;}