解题思路:
题目意思很简单 ,就是逆序一个单链表,思路就是先把头结点置空,然后将后面的节点挨个进行头插,反转链表,逻辑看似简单,实现起来还是有很多细节的,常看,不然就会忘,如图
这里面还有细节,就是头结点为空时,说明没有节点,如果head.next = null,说明就一个节点,直接返回头结点就可:
publicListNodereverseList(ListNodehead) { if (head==null) { returnnull; } if (head.next==null) { returnhead; } ListNodecur=head.next; //将头结点置空,将后面的节点逐一进行头插head.next=null; while (cur!=null) { ListNodecurNext=cur.next; cur.next=head; head=cur; cur=curNext; } returnhead; }