将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
- class Solution {
- public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
- if(list1 == null){
- return list2;
- }
- if(list2 == null){
- return list1;
- }
- ListNode ans = null;
- if(list1.val <= list2.val){
- ans = list1;
- list1 = list1.next;
- } else {
- ans = list2;
- list2 = list2.next;
- }
- //记录节点
- ListNode nex = ans;
- while (list1 != null && list2 != null){
- if(list1.val <= list2.val){
- nex.next = list1;
- list1 = list1.next;
- } else {
- nex.next = list2;
- list2 = list2.next;
- }
- nex = nex.next;
- }
- if(list1 == null){
- nex.next = list2;
- } else {
- nex.next = list1;
- }
- return ans;
- }
- }