public class Node {
public int data;
public Node next;
public Node(int data){
this.data = data;
this.next = null;
}
}
public class LinkedList {
private Node root;
public void insert(int data){
Node cur = root;
if(root==null){
root = new Node(data);
return;
}
while(cur.next!=null){
cur = cur.next;
}
cur.next = new Node(data);
}
public Node invertedList(){
Node cur = null;
Node pre = null;
Node next = null;
if(root == null){
return null;
}
cur = root;
while(cur!=null){
next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
}
root=pre;
return root;
}
public void print(){
Node cur = root;
if(root == null){
return;
}
while(cur!=null){
System.out.print(cur.data+" ");
cur = cur.next;
}
}
public static void main(String[] args){
LinkedList list = new LinkedList();
list.insert(1);
list.insert(2);
list.insert(3);
list.insert(4);
list.print();
System.out.println();
list.invertedList();
list.print();
}
}

本文介绍了一种简单的链表数据结构,并提供了链表的基本操作,包括插入元素和反转链表的功能。通过Java代码实现了单链表节点的定义、元素的插入及链表的反转过程,并演示了如何打印链表。
277

被折叠的 条评论
为什么被折叠?



