反转链表主要是通过三个指针,指向当前位置的指针,指向前一个节点的指针和指向后一个的指针
    反转链表 - 图1

    1. //这里说的是两两交换,所以可以理解为两个一组,反转这组链表
    2. //写成代码就是这段代码
    3. int k = 2; //意思是两个一组
    4. //prev = null
    5. //next = null
    6. while(curr != null && k>0){
    7. next = curr.next; //1
    8. curr.next = prev; //2
    9. prev = curr; //3
    10. curr = next; //4
    11. k--;
    12. }
    13. //我们首先确定了哪个是当前节点,第1步指定了next节点是什么
    14. //第二步让当前节点的next指向自己的上一个节点
    15. //第3步和第4步的意思是让当前节点和下个节点向后推进,k--指的是这组链表已经处理了一个元素