题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路:三指针
新建两个指针用于保存当前节点的前后两个节点
解决方法
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
ListNode tmp , flag = null;
//这块比较绕,要搞清楚
while(head != null){
tmp = head.next; //保存当前节点的下一个节点
head.next = flag; //反转
flag = head; //移动
head = tmp;
}
return flag;
}
}