链表反转(206)
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
解释图
```java
class Solution {//这个方法,是当前传入的链表没有头节点
public ListNode reverseList(ListNode head) {
//创建一个新的头节点
ListNode head1=new ListNode(0);
//创建一个辅助指针
ListNode cur=head;
//创建一个next来接收当前遍历的下一个节点
ListNode next=null;
//如果当前链表为空或者只有一个节点,就直接返回这个链表
if(head==null||head.next==null){
return head;
}
//链表反转
while(cur!=null){
next=cur.next;
cur.next=head1.next;
head1.next=cur;
cur=next;
}
head=head1.next;
return head;
}
}