描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入:
{1,2,3}
返回值:
{3,2,1}
解题思路
新建一个链表,将原链表中所有节点依次插入新链表中
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode list=new ListNode(0);
// 当前链表不是空链表
while(head!=null){
// 保存新链表头结点
ListNode next=list.next;
// 保存当前节点
ListNode temp=head;
// 原链表指针指向位置
head=head.next;
// 设置当前节点下一个节点信息
temp.next=next;
// 将当前节点插入新链表
list.next=temp;
}
return list.next;
}
}