public static LinkNode reverse(LinkNode current){
        LinkNode next=null;
        LinkNode pre=null;
        while (current != null){
            next = current.next;
            current.next=pre;
            pre=current;
            current=next;
        }
        return pre;
    }

单链表反转需要三个指针

  1. current: 表示当前指针
  2. next: 表示下一个指针
  3. pre: 表示前一个指针

操作过程
首先保存next(临时变量)
java next = current.next;
然后把current的next指向pre(堆中的pre内存地址)
java current.next=pre;
然后把pre指针指向current, pre(栈上)始终要指向current(相对于next是前一个)
java pre=current;
接着下一步继续遍历
java current=next;