
/**
* Definition for singly-linked list.
* class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
import java.util.*;
public class Solution {
public void reorderList(ListNode head) {
if(head==null)
return;
List<ListNode> list=new ArrayList<>();
while(head!=null){
list.add(head);
head=head.next;
}
int i=0,j=list.size()-1;
while(i<j){
list.get(i).next=list.get(j);
i++;
if(i==j)
break;
list.get(j).next=list.get(i);
j--;
}
list.get(i).next=null;
}
}
本文介绍了一种用于重新组织单向链表元素顺序的算法实现。该算法通过将链表元素存储到列表中,然后从两端交替取出节点来达到重新排序的目的,最后更新链表的指向关系。

被折叠的 条评论
为什么被折叠?



