注意的点:
1:头要先保存,保护节点,
然后遍历
p.next=head;
for(head != null){
head=head.next;
}
return p.next;
2:引用前,记得缓存
比如 反转链表时
3:检查边界条件!!
链表为空,链表只有一个节点;
双向链表,注意头和尾,是否正常
题目:206. Reverse Linked List
Given the head of a singly linked list, reverse the list, and return the reversed list.
Example 1:
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]
var reverseList = function(head) {
let pre=null; //要有一个空节点,保护指针,避免一些越界的操作;
let current=head;
while(current!==null){
let next=current.next; //!记得缓存!不然断了就找不到了!
current.next=pre;
pre=current;
current=next;
}
return pre; //最后返回的是pre
};