反转链表
非递归(迭代)方式
class Solution {
public ListNode reverseList(ListNode head) {
ListNode prev = null;//定义当前指针的前指针节点,初始化为null
ListNode cur = head;//当前指针节点
//每次循环,都将当前节点指向它前面的节点,然后当前节点和前节点后移
while(cur != null){
ListNode nextTemp = cur.next;//临时节点,暂存当前节点的下一节点,用于后移
cur.next = prev;//将当前节点指向它前面的节点
prev = cur;//前指针后移
cur = nextTemp;//当前指针后移
}
return prev;
}
}