题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
这题我是使用的创建一个新链表,并使用头插法将链表反转。 步骤:
- 创建新链表new list和new p 。
- 采用while循环,当head为空时,说明下面就没有元素了,就可以停止了。
- 创建list时顺便将head->val赋值给list->val.
- 然后将p->next赋值给list->next,p->next=list,通过这两步实现头插法。
- head = head->next,使得链表head向前移动。
- 最后return list。
ListNode list = null;
ListNode p = new ListNode(0);
while(head!=null){
list = new ListNode(head.val);
list.next = p.next;
p.next = list;
head = head.next;
}
return list;
}