链表反转

依旧是1->2->3->4

  • 准备两个空结点 pre用来保存先前结点、next用来做临时变量
  • 在头结点node遍历的时候此时为1结点
    • next = 1结点.next(2结点)
    • 1结点.next=pre(null)
    • pre = 1结点
    • node = 2结点
  • 进行下一次循环node=2结点
    • next = 2结点.next(3结点)
    • 2结点.next=pre(1结点)=>即完成2->1
    • pre = 2结点
    • node = 3结点

public class reverLinked {
	public static class Node {
	    public int value;
	    public Node next;

	    public Node(int data) {
	        this.value = data;
	    }
	}
	public static Node reverLink(Node node){
		
		Node next=node;
		Node pre=null;
		
		while(node!=null) {
			next=node.next;
			node.next=pre;
			pre=node;
			node=next;
		}
		return pre;
	}
	public static void main(String[] args) {
		Node node1=new Node(1);
		Node node2=new Node(2);
		Node node3=new Node(3);
	    node1.next=node2;
		node2.next=node3;
		Node node=node1;
		Node node4=null;
		//Node reverse=null;
		node4=reverLink(node);
		while(node4!=null) {
			System.out.println(node4.value);
			node4=node4.next;
			
		}
		
	}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值