茂名市网站建设_网站建设公司_前端开发_seo优化
2025/12/18 1:06:01 网站建设 项目流程

21. 合并两个有序链表

21. 合并两个有序链表

我的微服务还没正式开启呢,我这两天在做一个贼简单的网站,昨天写的很兴奋,写到三点,整的今天巨困!!!

题目:

题解:

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode cur = new ListNode(0); ListNode list = cur; while(list1!=null && list2!=null) { if(list1.val<list2.val) { cur.next = new ListNode(list1.val); list1 = list1.next; } else { cur.next = new ListNode(list2.val); list2 = list2.next; } cur = cur.next; } while(list1 != null) { cur.next = new ListNode(list1.val); list1 = list1.next; cur = cur.next; } while(list2 != null) { cur.next = new ListNode(list2.val); list2 = list2.next; cur = cur.next; } return list.next; } }

还有另一种写法,思路差不多

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { ListNode cur = new ListNode(0); ListNode list = cur; while(list1!=null || list2!=null) { if(list1 == null && list2 != null) { cur.next = new ListNode(list2.val); list2 = list2.next; } else if(list1 != null && list2 == null) { cur.next = new ListNode(list1.val); list1 = list1.next; } //只剩下两个都存在的情况了 //两个都不存在就进来循环了 else { if(list1.val<list2.val) { cur.next = new ListNode(list1.val); list1 = list1.next; } else { cur.next = new ListNode(list2.val); list2 = list2.next; } } cur = cur.next; } return list.next; } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询