package LinkedListDemo; public class Main { public static Node mergeSortLinkedList(Node head1, Node head2) { if (head1 == null) { return head2; } if (head2 == null) { return head1; } Node head; if (head1.getData() < head2.getData()) { head = head1; head.setNext(mergeSortLinkedList(head1.getNext(), head2)); } else { head = head2; head.setNext(mergeSortLinkedList(head1, head2.getNext())); } return head; } public static void main(String[] args) { Node head1 = new Node(1, null); Node node3 = new Node(3, null); Node node5 = new Node(5, null); head1.setNext(node3); node3.setNext(node5); Node head2 = new Node(2, null); Node node4 = new Node(4, null); Node node6 = new Node(6, null); head2.setNext(node4); node4.setNext(node6); Node newHead = mergeSortLinkedList(head1, head2); while (newHead != null) { System.out.print(newHead.getData() + " "); newHead = newHead.getNext(); } } }
有序单链表合并递归实现
最新推荐文章于 2021-10-23 20:28:30 发布