- 反转链表
描述:
解题思路:
这是一个典型的链表反转问题,我大体的思路是:在遍历此条链表的过程中按顺序把节点逐个引入到额外的链表中,达到链表反装的效果。
首先创建一个额外的节点用来记录代码的遍历时的当前节点。再创建一个额外的链表用来接收。
设置一个指针指向当前节点的下一个节点,将当前节点的下一个节点设置为额外链表的头节点。将当前节点的数据赋给额外链表的头节点。将当前节点后移,进行遍历。
代码:
class Solution {
public ListNode reverseList(ListNode head) {
ListNode reversal=null;
ListNode temp=head;
while(temp!=null){
ListNode next=temp.next;
temp.next=reversal;
reversal=temp;
temp=next;
}
return reversal;
}
}



