leetcode-0206 reverse-linked-list
阿新 • • 發佈:2022-05-17
Given the head of a singly linked list, reverse the list, and return the reversed list.
Example 1:
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]
Example 2:
Input: head = [1,2]
Output: [2,1]
Example 3:
Input: head = []
Output: []
Constraints:
The number of nodes in the list is the range [0, 5000].
-5000 <= Node.val <= 5000
Follow up: A linked list can be reversed either iteratively or recursively. Could you implement both?
來源:力扣(LeetCode)
連結:https://leetcode.cn/problems/reverse-linked-list
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */ class Solution { public ListNode reverseList(ListNode head) { ListNode preNode = null; ListNode currNode = head; while(currNode != null){ ListNode nextNode = currNode.next; currNode.next = preNode; preNode = currNode; currNode = nextNode; } return preNode; } }