题解 | #合并两个排序的链表#
合并两个排序的链表
https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode Merge(ListNode list1, ListNode list2) { if (list1 == null) return list2; if (list2 == null) return list1; ListNode dummyNode = new ListNode(-1); ListNode first = dummyNode; while (list1 != null && list2 != null) { if (list1.val < list2.val) { first.next = new ListNode(list1.val); list1 = list1.next; } else { first.next = new ListNode(list2.val); list2 = list2.next; } first = first.next; } while (list1 != null) { first.next = new ListNode(list1.val); list1 = list1.next; first = first.next; } while (list2 != null) { first.next = new ListNode(list2.val); list2 = list2.next; first = first.next; } return dummyNode.next; } }
解题思想:虚拟节点+循环遍历比较+剩余节点遍历
#算法##算法笔记#