- 准备两个空结点 pre用来保存先前结点、next用来做临时变量
- 在头结点node遍历的时候此时为1结点
- next = 1结点.next(2结点)
- 1结点.next=pre(null)
- pre = 1结点
- node = 2结点
- 进行下一次循环node=2结点
- next = 2结点.next(3结点)
- 2结点.next=pre(1结点)=>即完成2->1
- pre = 2结点
- node = 3结点
- 进行循环…
链表的翻转
public static ListNode turn(ListNode head){
ListNode pre=null; //用来保存先前接电脑
ListNode next = null;//用来做临时变量
while (head != null) {
next=head.next;
head.next=pre;
pre=head;
head = next;
}
return pre;
}
翻转链表的输出
System.out.println("链表的翻转");
LinkList linkList1=new LinkList();
ListNode node= linkList1.turn(linkList1.head);
while (node != null){
System.out.println(node.val);
node = node.next;
}