leecode 143. 重排链表
Posted go大鸡腿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leecode 143. 重排链表相关的知识,希望对你有一定的参考价值。
题目
题解
链表不适合排序,所以先把他搞成数组,然后将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;
}
}
}
以上是关于leecode 143. 重排链表的主要内容,如果未能解决你的问题,请参考以下文章