Node节点类
/** * @author wxl * @Title: Node * @ProjectName test * @Description: TODO * @date 2019-4-19 17:32 */ public class Node { private int data; private Node next; public Node(int data, Node next) { this.data = data; this.next = next; } public Node() { } @Override public String toString() { return "Node{" + "data=" + data + ", next=" + next + '}'; } public int getData() { return data; } public void setData(int data) { this.data = data; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } }
主类:
/** * @author wxl * @Title: LinkReverse * @ProjectName test * @Description: TODO * @date 2019-4-19 17:32 */ public class LinkReverse { public static void main(String[] args) { Node head = new Node(); head.setData(1); Node tmp = head; for(int i=2;i<=10;i++){ Node node = new Node(i,null); tmp.setNext(node); tmp = node; } printNode(head); Node reverse = reverse(head); printNode(reverse); } public static Node reverse(Node head){ if(head==null) return null; Node pre=null,cur=head,next=null; while(cur!=null){ next=cur.getNext(); cur.setNext(pre); pre=cur; cur=next; } return pre; } public static void printNode(Node head){ if(head!=null){ Node tmp = head; while(tmp!=null){ System.out.print(tmp.getData()+"->"); tmp = tmp.getNext(); } } System.out.println(); } }