LC 反转链表
Posted yangbocsu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LC 反转链表相关的知识,希望对你有一定的参考价值。
LC 反转链表
- 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
【代码】
/**
* 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 res = head;
ListNode head1 = head; //用来算链表长度
int len = 0;
while (head1 != null) //用来算链表长度
{
len++;
head1 = head1.next;
}
int[] arr = new int[len]; //先将每个节点的值保存起来
head1 = head;
for (int i = 0; i < len; i++)
{
arr[i] = head1.val;
head1 = head1.next;
}
head1 = head; //逆序赋值
for (int i = len - 1; i >= 0; i--)
{
head1.val = arr[i];
head1 = head1.next;
}
return res;
}
}
以上是关于LC 反转链表的主要内容,如果未能解决你的问题,请参考以下文章