leetcode刷题-剑指offer-24题
题目
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
解答
新手上路,才学疏浅,望斧正
- 采用头插法对链表逆序
- 依次从链表中读出一个节点
- 插入新节点的前面
class Solution {
public ListNode reverseList(ListNode head) {
//返回结果
ListNode resList=null;
ListNode p=head;
while (p!=null){
if(resList==null){
//如果逆序链表为空
resList=new ListNode(p.val);
resList.next=null;
}else {
//否则在其前插入
ListNode tmp=new ListNode(p.val);
tmp.next=resList;
resList=tmp;
}
p=p.next;
}
return resList;
}
}