java反转链表

直接上代码

第一步 :创建链表


package lianbiao;

public class Node {
//定义属性
private int data;//链表的数据
Node next;//链表的指向下一个节点
public int getData() {
return data;
}

public void setData(int data) {
this.data = data;
}

}

第二步:链表赋值

package lianbiao;


public class Lian {

public static void main(String[] args) {
// TODO Auto-generated method stub
//创建链表对象
Node node1=new Node();

                //给链表对象赋值
node1.setData(23);
Node node2=new Node();
node2.setData(34);
Node node3=new Node();
node3.setData(54);
Node node4=new Node();
node4.setData(45);
Node node5=new Node();
node5.setData(32);

               //节点链接起来
node1.next=node2;
node2.next=node3;
node3.next=node4;
node4.next=node5;

               //反转链表
Node newlist=reverselist(node1);

                 //打印
print(newlist);

               //打印的方法

                 private static void print(Node newlist) {
if(newlist==null){

return ;
}
while(newlist!=null){
System.out.println(newlist.getData()+" ");
newlist = newlist.next;
}

}





           //反转的方法

         private static Node reverselist(Node node1) {
     //判断节点是否指向空

                     if(node1==null||node1.next==null){
return node1;
}
//定义新节点

                       
Node newlist=null;

                   
while(node1!=null){

Node cur=node1.next;//下一个节点
node1.next=newlist;//下一个节点指向新的节点
newlist=node1;//链接节点
node1=cur;

}


return newlist;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值