(Node head)
| 255 | } |
| 256 | |
| 257 | private Node mergeSortHelper(Node head) { |
| 258 | if(head == null || head.next == null) { |
| 259 | return head; |
| 260 | } |
| 261 | |
| 262 | |
| 263 | Node mid = findMidNode(head); |
| 264 | //System.out.println(mid.data); |
| 265 | Node head2 = mid.next; |
| 266 | mid.next = null; |
| 267 | Node newHead1 = mergeSortHelper(head); |
| 268 | Node newHead2 = mergeSortHelper(head2); |
| 269 | // System.out.println(newHead1.data+" "+newHead2.data); |
| 270 | Node finalHead = merge(newHead1, newHead2); |
| 271 | |
| 272 | return finalHead; |
| 273 | } |
| 274 | |
| 275 | private Node merge(Node head1, Node head2) { |
| 276 | Node finalHead = new Node(-1); |
no test coverage detected