需求
输入一个链表,反转链表后,输出新链表的表头。
输入:
{1,2,3}
结果:
{3,2,1}
核心思想
反转的意思就是上一个节点等于下一个节点 1->2 1<-2
链表中第一个元素上一个节点为null; null->1->2
第二个节点的上一个节点是第一个节点 1->2
流程图
代码实现
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode pre =null;
ListNode next = null;
while(head!=null){
next =head.next;
head.next = pre;
pre = head;
head= next;
}
return pre;
}
}