题目
题解
链表不适合排序,所以先把他搞成数组,然后将next进行重设,最后把多余的节点掐掉
代码
class Solution {
public void reorderList(ListNode head) {
//链表转list存储
List<ListNode> list = new ArrayList();
ListNode temp = head;
while (temp != null) {
list.add(temp);
temp = temp.next;
}
int i = 0;
int j = list.size() - 1;
while (i < j) {
list.get(i).next = list.get(j);
i = i + 1;
list.get(j).next = list.get(i);
j = j - 1;
}
if(list.size()%2==0){
list.get(j+1).next = null;
}else {
list.get(i).next = null;
}
}
}