一、今日刷题
1. 链表 —— 21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
答案代码:
只需要一个虚拟节点 dummy 就可以轻松解决,我们选择将输入的两链表从头遍历,将更小的加入额外声明的链表中,dummy的作用就是作为额外链表的头结点。
package LinkedList;
import java.util.List;
/**
* @author: LYZ
* @date: 2022/4/2 15:04
* @description: 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
*/
public class MergeTwoLists {
public static void main(String[] args) {
MergeTwoLists merge = new MergeTwoLists();
ListNode list1 = new ListNode(1, new ListNode(2, new ListNode(4)));
ListNode list2 = new ListNode(1, new ListNode(3, new ListNode(5)));
ListNode ans = merge.mergeTwoLists(list1, list2);
// System.out.println(ans); 这样输出的是链表的存储地址
while (ans != null) {
System.out.println(ans.val);
ans = ans.next;
}
}
public ListNode mergeTwoLists