当前位置:网站首页>【LeetCode】3. Merge two sorted lists · merge two ordered linked lists
【LeetCode】3. Merge two sorted lists · merge two ordered linked lists
2022-07-03 07:42:00 【AQin1012】
Title Description
Description in English
You are given the heads of two sorted linked lists list1 and list2. Merge the two lists in a one sorted list. The list should be made by splicing together the nodes of the first two lists. Return the head of the merged linked list.
English address
Description of Chinese version
Merge two ascending linked lists into a new Ascending Link list and return . The new linked list is made up of all the nodes of the given two linked lists .
Example 1:
Input :l1 = [1,2,4], l2 = [1,3,4]
Output :[1,1,2,3,4,4]
Example 2:
Input :l1 = [], l2 = []
Output :[]
Example 3:
Input :l1 = [], l2 = [0]
Output :[0]
Constraints· Tips :
The range of the number of nodes in the two linked lists is [0, 50]
-100 <= Node.val <= 100
l1 and l2 All according to Non decreasing order array
Address of Chinese version
Their thinking
My first reaction was to read all , Then compare one by one , Then put it into a new linked list , Then I thought about it , The linked lists of these two inputs are already in order , In fact, you can read data from two linked lists and compare them , The smaller one is stored in the new linked list and points to the next data of the linked list , Big continues to compare with this new data …… repeat , Until a linked list is empty , Add the remaining data of the non empty linked list to the end of the new linked list , Just return to the new linked list .
How to solve the problem
My version
Recursive method

public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if (list1 == null) {
return list2;
}
else if (list2 == null) {
return list1;
}
else if (list1.val <= list2.val) {
list1.next = mergeTwoLists(list1.next, list2);
return list1;
} else {
list2.next = mergeTwoLists(list1, list2.next);
return list2;
}
}
// 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;
}
}
Official edition
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode prehead = new ListNode(-1);
ListNode prev = prehead;
while (l1 != null && l2 != null) {
if (l1.val <= l2.val) {
prev.next = l1;
l1 = l1.next;
} else {
prev.next = l2;
l2 = l2.next;
}
prev = prev.next;
}
// After the merger l1 and l2 At most, only one has not been merged yet , We can directly point the end of the linked list to the list that has not been merged
prev.next = l1 == null ? l2 : l1;
return prehead.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;
}
}

Welcome students who have better methods to kick me in the comment area (。・ω・。)ノ
边栏推荐
- Lombok -- simplify code
- Rabbit MQ message sending of vertx
- Analysis of the problems of the 11th Blue Bridge Cup single chip microcomputer provincial competition
- Reconnaissance et détection d'images - Notes
- Go language foundation ----- 19 ----- context usage principle, interface, derived context (the multiplexing of select can be better understood here)
- EtherCAT state machine transition (ESM)
- Robots protocol
- PAT甲级 1032 Sharing
- Common operations of JSP
- 技术干货|昇思MindSpore Lite1.5 特性发布,带来全新端侧AI体验
猜你喜欢

技术干货|昇思MindSpore Lite1.5 特性发布,带来全新端侧AI体验

密西根大学张阳教授受聘中国上海交通大学客座教授(图)

Go language foundation ----- 16 ----- goroutine, GPM model

Unity XR实现交互(抓取,移动旋转,传送,射击)-Pico

论文学习——鄱阳湖星子站水位时间序列相似度研究

PAT甲级 1028 List Sorting

Project experience sharing: Based on mindspore, the acoustic model is realized by using dfcnn and CTC loss function

Go language foundation ----- 09 ----- exception handling (error, panic, recover)

技术干货|AI框架动静态图统一的思考

Leetcode 198: house raiding
随机推荐
昇思MindSpore再升级,深度科学计算的极致创新
PAT甲级 1030 Travel Plan
华为交换机:配置telnet和ssh、web访问
TypeScript let与var的区别
Technical dry goods Shengsi mindspire innovation model EPP mvsnet high-precision and efficient 3D reconstruction
experiment.........
Lucene skip table
Analysis of the eighth Blue Bridge Cup single chip microcomputer provincial competition
Es writing fragment process
List exercises after class
Comparison of advantages and disadvantages between most complete SQL and NoSQL
Leetcode 213: 打家劫舍 II
【LeetCode】3. Merge Two Sorted Lists·合并两个有序链表
An overview of IfM Engage
What did the DFS phase do
Grpc message sending of vertx
项目经验分享:基于昇思MindSpore,使用DFCNN和CTC损失函数的声学模型实现
Technology dry goods | luxe model for the migration of mindspore NLP model -- reading comprehension task
Enter three times and guess a number
Lucene introduces NFA
https://leetcode.com/problems/merge-two-sorted-lists/