给定一个单链表 L 的头节点 head ,单链表 L 表示为:
L0 → L1 → … → Ln - 1 → Ln
请将其重新排列后变为:
L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → ...
不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 1:
输入:head = [1,2,3,4]
输出:[1,4,2,3]
示例 2:
输入:head = [1,2,3,4,5]
输出:[1,5,2,4,3]
package com.loo; import java.util.ArrayList; import java.util.List; public class ReorderList { static class ListNode { int value; ListNode next; public ListNode(int v) { this.value = v; } } public static void listNode(ListNode head , int[] arr) { if (arr == null || arr.length == 0) { return; } ListNode node = head; for (int i=0;i list = new ArrayList(); ListNode node = head; while (node!=null) { list.add(node); node = node.next; } int i = 0; int j = list.size() - 1; while (i 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)