从今天开始侧重学习一下链表的算法题。
题目
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
思路
采用迭代的思想,这种图一定要动手画个链表再操作,更加便于理解,这里推荐LeetCode上一位大佬的讲解,十分清晰。链接
代码
class Solution {
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
}
return prev;
}
}