public static ListNode insertionSortList(ListNode head) {
		if (head == null || head.next == null)
			return head;
		ListNode index = head.next;
		while (index != null) {
			ListNode temp = head;
			while (temp.val < index.val && temp != index)
				temp = temp.next;
			if (temp != index) {
				while (temp != index) {
					int t = temp.val;
					temp.val = index.val;
					index.val = t;
					temp = temp.next;
				}
			}
			index = index.next;
		}
		return head;
	}