很简单就不说思路了,头插法
–总结,对于链表这些题,先中间,再两边特殊,不要一开始两头,限制自己的思维
大胆使用指针变量,反正有不会浪费太多空间
流程图是真的好用
/**
- Definition for singly-linked list.
- public class ListNode {
-
int val;
-
ListNode next;
-
ListNode(int x) { val = x; }
- }
*/
class Solution {
public ListNode reverseList(ListNode head) {
if(head == null){
return head;
}
ListNode p1,p2;
p1 = p2 = head;
ListNode tempHead = new ListNode(0);
do{
p2 = p1.next;
p1.next = tempHead.next;
tempHead.next = p1;
p1 = p2;
}while(p1 != null);
return tempHead.next;
}
}