翻转链表
迭代法
cur初始为头结点
pre初始位空
如果head空或只有一个节点直接返回head
cur循环遍历
tmp记录cur遍历到的位置
让cur的下一个节点指向pre
pre指向cur(这样就反过来了,当前节点-》上一个节点)
cur指向记录位置的next
最后返回pre即可
java
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode curr=head;
ListNode prev =null;
if(head==null||head.next==null)return head;
while(curr!=null) {
ListNode tmpListNode=curr.next;
curr.next=prev;
prev=curr;
System.out.println(prev.val);
curr=tmpListNode;
}
return prev;
}
}