1. 程式人生 > 其它 >P1-連結串列反轉-迭代

P1-連結串列反轉-迭代

//第一種方法,迭代
//https://www.bilibili.com/video/BV1hK4y1P7ka?t=341
//反轉連結串列
public class ReverseList {
 
    static class ListNode{
        int val;
        ListNode next;
 
        public ListNode(int val, ListNode next){
            this.val = val;
            this.next = next;
        }
 
        public static
ListNode iterate(ListNode head){ ListNode prev = null; ListNode next; ListNode curr = head; while(curr != null){ next = curr.next; curr.next = prev; prev = curr; curr = next; }
return prev; } public void printList(){ System.out.println(this.val); ListNode curr = this; while(curr.next != null) { System.out.println(curr.next.val); curr = curr.next; } } } public
static void main(String[] args) { ListNode node5 = new ListNode(5, null); ListNode node4 = new ListNode(4, node5); ListNode node3 = new ListNode(3, node4); ListNode node2 = new ListNode(2, node3); ListNode node1 = new ListNode(1, node2); node1.printList(); ListNode.iterate(node1); node5.printList(); } }