Java ---- 链表逆序

自古美人都是妖i 提交于 2020-02-22 15:02:56
public class LinkedListRevert {
    public static void main(String[] args) {

        Node next3 = new Node(4,null);
        Node next2 = new Node(3,next3);
        Node next = new Node(2,next2);
        Node head =new Node(1,next);

        Node tmp = head; // 保存首节点
        while (head!=null){

            System.out.println(head.value);
            head=head.next;
        }
        Node revertHead = revert(tmp);

        while (revertHead!=null){

            System.out.println(revertHead.value);
            revertHead=revertHead.next;
        }
    }

    public static Node revert(Node head){

        Node prev = null;
        Node next = head.next;

        while(head!=null){
            next = head.next;
            head.next = prev;
            prev = head;
            head = next;
        }
        return prev;
    }
}

class Node{
    int value;
    Node next;
    public Node (int value,Node next){
        this.value = value;
        this.next = next;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!