直接上代码
第一步 :创建链表
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;
}