206.反转链表

题目描述

原题
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
1
输入:head = [1,2,3,4,5]
2
输出:[5,4,3,2,1]
Copied!
示例 2:
1
输入:head = [1,2]
2
输出:[2,1]
Copied!
示例 3:
1
输入:head = []
2
输出:[]
Copied!

题解

1
/**
2
* Definition for singly-linked list.
3
* public class ListNode {
4
* int val;
5
* ListNode next;
6
* ListNode(int x) { val = x; }
7
* }
8
*/
9
class Solution {
10
//声明3个node,prev是前一个 curr 是当前 next是下一个
11
//先获取后一个然后让当前指向前一个 然后改变prev和curr的值
12
public ListNode reverseList(ListNode head) {
13
ListNode prev = null;
14
ListNode curr = head;
15
while(curr!=null){
16
ListNode next = curr.next;//获取后一个
17
curr.next = prev;//当前指向前一个
18
prev = curr;
19
curr = next;
20
}
21
return prev;
22
}
23
}
Copied!
最近更新 4mo ago
复制链接