链表的反转

//递归
        public ListNode reverseList(ListNode head) {
            if (head == null) {
                return null;
            }
            if (head.next==null) {
                return head;
            }
            ListNode newHead = reverseList(head.next);
            head.next.next = head;
            head.next = null;
            return newHead;
        }
        //非递归
        public ListNode reverseList2(ListNode head) {
            if (head == null) {
                return null;
            }
            if (head.next==null) {
                return head;
            }
            ListNode newHead = null;
            while (head != null) {
                ListNode tmp = head.next;
                head.next = newHead;
                newHead = head;
                head = tmp;
            }
            return newHead;
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容