美文网首页
P2-链表反转-递归

P2-链表反转-递归

作者: YonchanLew | 来源:发表于2021-05-04 15:24 被阅读0次
    //反转链表
    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();
     
        }
     
    }
    

    相关文章

      网友评论

          本文标题:P2-链表反转-递归

          本文链接:https://www.haomeiwen.com/subject/vricdltx.html