LinkedList顺序反转

定义一个Node类,每个Node都有下一个Node。

public static class Node<V>{
    Node<V> next;
    
    private Node(V v){
    value = v;
    next = null;
        
}    
}

创建一个节点的转换方法

public static Node revertLinkedList(Node head){

    //传入一个头节点,返回新的头节点
    
    Node pre = null;
    Node next = null;
    while(head != null){
        //提前记录当前头节点的下一个位置
        next = head.next;
        //当前头节点的下一个节点指向一个空的地址
        head.next = pre;
        //pre指针跳到头节点上
        pre = head;
        //当前的头节点跳到下一个标杆?
        head = next;
    }
    
    return pre;
}

创建一个测试:

        

public static void main(String[] args{
        Node node = new Node(1); 
        node.next = new Node(2);
        node.next.next = new Node(3);
        node = revertLinkedList(node);
        while(node != null){
            System.out.print(node.value);
            node = node.next;
        }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值