package day3; class ListNode { int val; ListNode next; ListNode(int x) { val = x; } public void setnext(ListNode next) { this.next = next; } public int getData() { return val; } public void setData(int Data) { this.val = Data; } public ListNode getnext() { return next; } } public class reverseList { public static void main(String[] args){ ListNode head = new ListNode(0); ListNode node1 = new ListNode(1); ListNode node2 = new ListNode(2); ListNode node3 = new ListNode(3); head.setnext(node1); node1.setnext(node2); node2.setnext(node3); // new reverseList().recursionreverseList(head); ListNode h = head; while (null != h) { System.out.print(h.getData() + " "); h = h.getnext(); } // 调用反转方法 head = new reverseList().recursionreverseList(head); System.out.println("\n**************************"); // 打印反转后的结果 while (null != head) { System.out.print(head.getData() + " "); head = head.getnext(); } } public ListNode reverseList(ListNode head) { ListNode prev = null; while (head != null) { ListNode tmp = head.next; head.next = prev; prev = head; head = tmp; } return prev; } public ListNode recursionreverseList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode prev = recursionreverseList(head.next); head.next.next = head; head.next = null; return prev; } }
单链表
最新推荐文章于 2022-08-01 14:03:25 发布