反转链表解析

55 阅读1分钟

反转链表

class Node{
    int val;
    Node next;
    public Node(int val){
        this.val=val;
    }
}
public static Node reverse(Node first){
    //定义两个指针,修改指针方向,依次向后移动
    //1.先保存next=cur.next节点;
    //2.改变指针方向cur.next=pre;
    //3.移动指针pre=cur,cur=next,
    Node pre=null;
    Node cur=first;
    while(cur!=null){
        Node next=cur.next;
        cur.next=pre;
        pre=cur;
        cur=next;
    }
}