链表的翻转
链表的翻转分为部分翻转和全部翻转。本文,实现了一种通用的链表翻转程序,其时间复杂度为n。
链表如下:
程序中包含如下类:
1、Node类,即链表的节点,节点中只有一个属性iData;
class Node {
public int iData;
Node nextNode = null;
public Node(int iData) {
this.iData = iData;
}
}
2、链表类,链表类中仅实现了插入和打印链表的方法,并且链表具有表头节点root具体如下:
class Link {
public Node root = null;
public void insert(int iData) {
Node newNode = new Node(iData);
if (root == null) {
root = newNode;
} else {
Node current = root;
Node pre = root;
while (current != null) {
pre = current;
current = current.nextNode;
}
pre.nextNode = newNode;
}
}
public void display() {
Node current = root;
while (current != null) {
System.out.print(current.iData + &