思路:
第一种方式还是集合方式,用数组装一下,然后从未到头遍历组装就行
第二种方式:
- 首先构建一个pre=null
- 开始遍历 获取next=head.next
- head.next=pre,将head节点的next指针指向pre,前驱节点
- pre来到head位置 pre=head;
- head来到next位置,继续遍历下一个节点
代码如下:
public static ListNode reverseList(ListNode head) {
//如果head 不等于空
if (head==null){
return null;
}
//定义一个前节点
ListNode pre=null;
//定义一个下节点
ListNode next;
while (head!=null){
//next 来到下一个节点上
next=head.next;
//将head的下一个节点指向 pre
head.next=pre;
//pre 来到head上
pre=head;
//head 来到 next上
head=next;
}
return pre;
}