java实现单链表逆置

时间:2023-03-10 02:25:54
java实现单链表逆置
 class LNode
{
public LNode next;
public int data;
}
/*逆置链表*/
class Nizhi
{
private static LNode head = new LNode();;
private static LNode node;
private static LNode tail;
private static int index;
private static LNode newhead = new LNode();
public static void main(String[] args){
int[] nums = {1,2,3,4,5,6,7,8,9,10};
head.data = nums[0];
tail = head;
createLine(nums);
System.out.println("——————————————————链表顺序打印———————————————————");
printLine(head);
nizhi();
System.out.println("——————————————————链表逆置打印———————————————————");
printLine(newhead);
} private static void createLine(int[] nums){
while (index<10)
{
node = new LNode();
tail.next = node;
node.data = nums[index];
node.next = null;
tail = node;
index ++; }
} private static void printLine(LNode head){
node = head;
while(node!=null&&node.next!=null){
node = node.next;
System.out.println(node.data);
}
} private static void nizhi(){ node = head.next;
//遍历原链表结点,头插法到新头结点
while (node!=null)
{
LNode temp = new LNode();
temp.data = node.data;
//node.next = node.next.next;
temp.next = newhead.next;
newhead.next = temp; System.out.println("temp.data="+temp.data);
node = node.next;
}
}
}