P2-連結串列反轉-遞迴
阿新 • • 發佈:2022-04-11
//反轉連結串列 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 recursion(ListNode head){ if(head == null|| head.next == null) { return head; } ListNode new_head = recursion(head.next); head.next.next = head; head.next = null; return new_head; } 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.recursion(node1); node5.printList(); } }