206. 反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode loopNode = head;
ListNode reverseNode = null;
while (loopNode != null) {
ListNode temp = loopNode.next;
loopNode.next = reverseNode;
reverseNode = loopNode;
loopNode = temp;
}
return reverseNode;
}
}
复杂度分析
时间复杂度 : O(n)
空间复杂度 : O(1)