单链表反转

文章目录

    • 题目描述
    • 示例
    • 解析
    • 代码

题目描述

反转单链表

示例

输入:

1 -> 2 -> 3 -> 4 -> 5

输出:

5 -> 4 -> 3 -> 2 -> 1

解析

遍历链表,将链表拷贝到一个新的链表,每次将当前节点拷贝到新链表的头结点前边。具体示意图如下:
单链表反转_第1张图片

代码

	private ListNode reverseList(ListNode head) {
		ListNode prev = null;
		ListNode now = head;
		while(now != null){
			ListNode next = now.next;
			now.next = prev;
			prev = now;
			now = next;
		}
		return prev;
	}

你可能感兴趣的:(数据结构与算法)